我在做简单的str_replace
时遇到了问题。
我想从字符串中删除所有的逗号,这是可行的。但是当我试图再次改变字符串时,逗号会以某种方式重新出现。我重构了我的代码,以确保我没有造成这种情况。用HTML实体替换的字符重新出现
反正这里是我的代码。任何人都可以发现一个错误?
$delim=remDelim(fgets($fo));
# echo 'before : '.htmlspecialchars($delim);
$delime =str_replace(",",",",$delim);
echo 'after : '.htmlspecialchars($delime);
$delimed = str_replace("<","",$delime);
echo $delimed.'<br />';
example output:
Jose, jr to Jose, jr to Jose, jr
它就像我的字符串被以某种方式未被转换。我会说,这很可能是我混淆了名字,并使用第一个字符串来制作最后一个字符串。但唉,我可以看到情况并非如此。
至少有一次我想每个人都被这个一个:)欺骗。 – kapa 2012-02-14 22:24:24
他的回答很好。唯一的区别是用最后一个'echo'你不使用'htmlspecialchars()'。打印的内容是',',但它是HTML,所以它显示为逗号。在浏览器中检查HTML源代码。 [或者查看你的代码的演示。](http://codepad.viper-7.com/gY45Dr) – kapa 2012-02-14 22:53:55
它不是在一个12MB页面上工作(可能是Firefox或者apache/php,因为它不好用处理大页面,导致冻结aka无响应,并占用2GB的ram刚刚加载此页面)。我查看源,不在那里。然后我尝试了一个12 kb的页面。这最终显示了,的来源。那是我之前从电脑里看到的最诡异的行为。这是有道理的,为什么它总是为答对的ppl工作(使用一行输入= <1kb)。 – YoYoMa 2012-02-14 23:39:22