从php html字符串中删除回车字符
我想检查字符串是否是有效的xhtml/html。 我有一些由tinymce编辑器获得的html字符串。我想在第一次将它保存到mysql数据库之前检查这个html字符串是否有效。我正在尝试php tidy库:从php html字符串中删除回车字符,php,html,htmltidy,repair,Php,Html,Htmltidy,Repair,我想检查字符串是否是有效的xhtml/html。 我有一些由tinymce编辑器获得的html字符串。我想在第一次将它保存到mysql数据库之前检查这个html字符串是否有效。我正在尝试php tidy库: $html = '<div> <a href="#">a link</a> this is test <p>close tag error</p> </p> <p></p>'; $
$html = '<div> <a href="#">a link</a> this is test <p>close tag error</p> </p> <p></p>';
$tidy = new \tidy();
$clean = $tidy->repairString($html,array(
'output-xml' => true,
'input-xml' => true
));
$html='这是测试关闭标记错误';
$tidy=new\tidy();
$clean=$tidy->repairString($html,数组)(
“输出xml”=>true,
“输入xml”=>true
));
但它的输出是:
<div>\n<a href="#">a link</a>this is test \n<p>close tag error</p>other text \n<p></p></div>
\n这是测试\n关闭标记错误其他文本\n
因此,标记正确关闭,但整齐地放置/n个字符。
如何修复没有回车符的html?虽然不是完美的(因为它可能会破坏任何实际的回车符),但快速的答案是:
$string = str_replace('\n', '', $originalString);
您需要使用htmlspecialhars_decode()来禁用特殊字符的显示
$clean = htmlspecialchars_decode($clean);
stru替换('\n','$originalString)
将仅删除文本中的\n
字符串。真正的carridge返回字符将保持tact,除非与如下双引号一起使用:str\u replace(“\n”,”$originalString)代码>