Php 替换为HTML实体的字符将重新出现

Php 替换为HTML实体的字符将重新出现,php,str-replace,htmlspecialchars,Php,Str Replace,Htmlspecialchars,我在做一个简单的str\u替换时遇到问题 我正在尝试从字符串中删除所有逗号,这是可行的。但当我再次尝试更改字符串时,逗号不知何故再次出现。我重构了我的代码,以确保这不是我造成的 无论如何,这是我的密码。有人能发现虫子吗 $delim=remDelim(fgets($fo)); # echo 'before : '.htmlspecialchars($delim); $delime =str_replace(",",",",$delim); echo

我在做一个简单的
str\u替换时遇到问题

我正在尝试从字符串中删除所有逗号,这是可行的。但当我再次尝试更改字符串时,逗号不知何故再次出现。我重构了我的代码,以确保这不是我造成的

无论如何,这是我的密码。有人能发现虫子吗

 $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&#44; jr  to  Jose, jr
$delim=remDelim(fgets($fo));
#echo“before:”.htmlspecialchars($delim);
$delime=str#u替换(“,”,“,;”,$delim);
echo“after:”.htmlspecialchars($delime);

$delimed=str_replace(“如果您在浏览器中查看此内容,请注意浏览器将字符实体呈现为实际字符,而不是实体文本。强制浏览器进入纯文本模式(
标题(
),或查看页面的源代码(例如firefox中的ctrl-u)

如果您在浏览器中查看此内容,请注意浏览器将将字符实体呈现为实际字符,而不是实体文本。强制浏览器进入纯文本模式(
标题(
),或查看页面源代码(例如firefox中的ctrl-u)

在命令行上尝试过,没有问题。因此我和Marc一样确信浏览器会呈现它!@yoyoma:鉴于你有3个名称非常相似的变量,你确定你输出的是正确的吗?上面的代码是直接剪切粘贴脚本还是重新键入?在命令行上尝试过,没有专业版问题。所以我和马克一样确信,浏览器会呈现它!@yoyoma:既然你有3个名字非常相似的变量,你确定你输出的是正确的吗?上面的代码是直接剪切粘贴脚本还是重新键入的?至少有一次我想每个人都会被这条代码欺骗:)。他的答案很好。唯一的区别是,对于最后一个
echo
,您没有使用
htmlspecialchars()
。打印的是
,;
,但它是HTML,因此显示为逗号。请检查浏览器中的HTML源代码。它在12mb页面上不起作用(可能是firefox bug或apache/php,因为它不适合处理大型页面,导致冻结或无响应,并且仅加载此页面就占用了高达2GB的ram)。我查看了源代码,;不存在。然后我尝试了一个12 kb的页面。这最终显示了源代码中的,;。这是我以前在计算机上看到的最奇怪的行为。这也解释了为什么它总是适用于应答的ppl(使用一行输入=<1kb)。至少有一次,我猜每个人都会被这一个欺骗:)。他的答案很好。唯一的区别是,对于最后一个
echo
,您没有使用
htmlspecialchars()
。打印的是
,;
,但它是HTML,因此显示为逗号。请检查浏览器中的HTML源代码。它在12mb页面上不起作用(可能是firefox bug或apache/php,因为它不适合处理大型页面,导致冻结或无响应,并且仅加载此页面就占用了高达2GB的ram)。我查看了源代码,;不存在。然后我尝试了一个12 kb的页面。这最终显示了源代码中的,;。这是我以前在计算机上看到的最奇怪的行为。这也解释了为什么它总是适用于应答的ppl(使用一行输入=<1kb)。