我正在处理我的小型web应用程序的重构。整夜。今天当我开始测试时,我发现第一个bug是系统PHP函数nl2br()
的问题。功能nl2br PHP奇怪的行为
在我的本地我有PHP版本5.2.9 和我对PHP site看到版本4.0.5nl2br()
是XHTML标准。
然后,我绝对不明白为什么我的nl2br()
返回<br>
没有第二个参数设置为false而不是<br />
。
这里是我的方法,我发现这个bug:
public function eliminateTags($msg) {
$setBrakes = nl2br($msg);
$decodeHTML = htmlspecialchars_decode($setBrakes);
# Check PHP version
if((int)version_compare(PHP_VERSION, '4.0.5') == 1) {
$withoutTags = strip_tags($decodeHTML, '<br />');
} else {
$withoutTags = strip_tags($decodeHTML, '<br>');
}
return $withoutTags;
}
我不能说我可以用最新的PHP 5.2重现这个变化日志没有提到这一点。你有一个脚本能够再现这个问题吗? – Artefacto 2010-07-04 08:47:39
你如何检查br标签? #你使用的是Firebug(或类似的工具)吗? #您是否在查看由脚本生成的文件? #你在检查脚本生成的字符串吗? – Eineki 2010-07-04 08:51:04
默认情况下,它使用'
',使用5.3.2。 – 2010-07-04 08:54:25