3 回答
TA贡献1865条经验 获得超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;
?>">
当渲染页面时,HTML 会自动将多个空白折叠为一个,但它会保留一个,这就是您所看到的。
我看不出有什么地方会出现额外的空白,但加上 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()将从字符串的开头和结尾删除任何空格(以防万一用户意外添加了一些空格)。
TA贡献1155条经验 获得超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数据验证放在 之前HTML,这样做可以使您的代码看起来更干净。
TA贡献1829条经验 获得超4个赞
这将在两侧插入 \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 关注
- 106 浏览
添加回答
举报