3 回答

TA貢獻(xiàn)1865條經(jīng)驗 獲得超7個贊
有趣的是,您收到該錯誤是因為您使用的是 PHP。
Postcode <input type="text" name="postcode" value="
<?php
$postcode = str_replace('%20', ' ', $postcode);
$postcode = str_replace('-', ' ', $postcode);
$postcode = str_replace('%09', '', $postcode); // This line was added to try to remove
the tabs
echo $postcode;
?>
">
注意你是如何做到的,然后在下一行value="開始。<?php兩者之間的空白就是造成差距的原因。只要將兩者粉碎在一起,它就會消失:
Postcode <input type="text" name="postcode" value="<?php
$postcode = str_replace('%20', ' ', $postcode);
$postcode = str_replace('-', ' ', $postcode);
$postcode = str_replace('%09', '', $postcode); // This line was added to try to remove
the tabs
echo $postcode;
?>">
當(dāng)渲染頁面時,HTML 會自動將多個空白折疊為一個,但它會保留一個,這就是您所看到的。
我看不出有什么地方會出現(xiàn)額外的空白,但加上 a 也trim()沒什么壞處:
Postcode <input type="text" name="postcode" value="
<?php
$postcode = str_replace('%20', ' ', $postcode);
$postcode = str_replace('-', ' ', $postcode);
$postcode = trim($postcode);
echo $postcode;
?>
">
trim()將從字符串的開頭和結(jié)尾刪除任何空格(以防萬一用戶意外添加了一些空格)。

TA貢獻(xiàn)1155條經(jīng)驗 獲得超0個贊
問題是這部分代碼中的換行符。
Postcode <input type="text" name="postcode" value="
<?php
$postcode = str_replace('%20', ' ', $postcode);
$postcode = str_replace('-', ' ', $postcode);
$postcode = str_replace('%09', '', $postcode);
echo $postcode;
?>
">
要解決此問題,請通過將行str_replace放在HTML
$postcode = str_replace('%20', ' ', $postcode);
$postcode = str_replace('-', ' ', $postcode);
$postcode = str_replace('%09', '', $postcode);
Postcode <input type="text" name="postcode" value="<?php echo $postcode ?>">
我還建議將所有POST數(shù)據(jù)驗證放在 之前HTML,這樣做可以使您的代碼看起來更干凈。

TA貢獻(xiàn)1829條經(jīng)驗 獲得超4個贊
這將在兩側(cè)插入 \n
Postcode <input type="text" name="postcode" value="
<?php ...?>
">
這不會:
Postcode <input type="text" name="postcode" value="<?php
...
?>">
為了確保,你可以這樣做
Postcode <input type="text" name="postcode"
value="<?=trim(str_replace('-', ' ', $postcode))?>">
- 3 回答
- 0 關(guān)注
- 158 瀏覽
添加回答
舉報