Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.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 Tidy将样式标记数据转换为CDATA_Php_Html_Tidy - Fatal编程技术网

防止PHP Tidy将样式标记数据转换为CDATA

防止PHP Tidy将样式标记数据转换为CDATA,php,html,tidy,Php,Html,Tidy,我正在使用php tidy清理用户生成的HTML页面,该页面包含一个样式标记: <style type="text/css"> body { padding-top: 60px; padding-bottom: 40px; } </style> 我尝试了很多搜索,但是PHP Tidy库并不是一个“文档化”的库! 因此,它归结为在Tidy清理/修复代码后手动删除CDATA $buffer = str_replace("/*&

我正在使用php tidy清理用户生成的HTML页面,该页面包含一个样式标记:

<style type="text/css">
    body {
        padding-top: 60px;
        padding-bottom: 40px;
    }
</style>
我尝试了很多搜索,但是PHP Tidy库并不是一个“文档化”的库! 因此,它归结为在Tidy清理/修复代码后手动删除CDATA

$buffer = str_replace("/*<![CDATA[*/","",$buffer);
$buffer = str_replace("/*]]>*/","",$buffer);
$buffer=str\u replace(“/**/”,“”,$buffer);
现在我使用这种方法的问题是,样式标记数据的缩进仍然是错误的(没有与页面的其余部分完全对齐)


身体{
填充顶部:60px;
填充底部:40px;
}
那么,我该如何防止TIDY在页面上创建CDATA呢


非常感谢

处理它的一种方法是使用指向外部样式表的链接

<link rel="stylesheet" type="text/css" media="screen, print" href="site.css">


添加CDATA标记的目的是帮助浏览器知道应该解析字符,如“关闭
输出xhtml
选项。XHTML需要CDATA包装,因为CSS可以包含不可缩放的
字符。

正如我提到的,页面是用户生成的,所以我正在寻找一种解决方案,可以阻止CDATA标记的创建。。转移到外部样式表显然是一种选择,但我希望它是最后的手段…是的,我知道CDATA的用途,我唯一关心的是,它在样式标记中并没有多大用处,浏览器足够聪明,可以解码并适当地使用它。。。那么有没有办法避免这个“不必要的”插件呢!啊,我真不敢相信我这么做了。。。花几个小时在这个上面!!非常感谢:)从今天起,OP应该同时取消激活和激活,即具有
'output-xhtml'=>false
'output-html'=>true
(使用
HTMLTidy for Linux 5.4.0版测试)。
$buffer = str_replace("/*<![CDATA[*/","",$buffer);
$buffer = str_replace("/*]]>*/","",$buffer);
<style type="text/css">
    body {
        padding-top: 60px;
        padding-bottom: 40px;
    }
</style>
<link rel="stylesheet" type="text/css" media="screen, print" href="site.css">