我有一个字符串
"*——* B"。
我想用空格字符(' ')替换所有的连字符('-')。我使用str_replace作为
str_replace('-', ' ', "*A-----*B-----")。
结果应该是
但是它给了我"*A<5 space>*B<5 space>"
"*A *B "
为什么不保留空格字符?我需要在字符串中保留空格字符。
[有趣的是,当张贴这个问题,甚至我不能键入一个字符串与空格:)]
我猜这是因为您在HTML页面中显示字符串,它忽略了多个空白。如果您想看到它们,请尝试在<pre>
标记之间进行回显:
echo "<pre>" . $yourstring . "</pre>";
或使用
:
str_replace('-', ' ', "*A-----*B-----");
多个空格在所有浏览器中都显示为单个空格。
要停止此行为,您可以在包含元素上使用
(Non - Breaking SPace)或white-space: pre
CSS。
你应该试试
str_replace('–', ' ', $str);
尝试使用str_replace('–', ' ', $str);
谢谢大家,你们都是对的。实际上,我正在准备一些EDI文档,在创建文件之前,我将输出转储到浏览器以检查其有效性。我看了html的源代码,是的,它有5个空格
HTML忽略字符后面的多个空格,要在HTML中添加多个空格,请使用非分隔符
这应该将-
替换为非换行空格字符并解决
str_replace('–', ' ', $str);