Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从php html字符串中删除回车字符_Php_Html_Htmltidy_Repair - Fatal编程技术网

从php html字符串中删除回车字符

从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>'; $

我想检查字符串是否是有效的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>';
    $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)