Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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 是否可以在preg_replace/str_replace之后格式化源代码?_Php_Preg Replace - Fatal编程技术网

Php 是否可以在preg_replace/str_replace之后格式化源代码?

Php 是否可以在preg_replace/str_replace之后格式化源代码?,php,preg-replace,Php,Preg Replace,我使用preg_replace和str_replace从xml文件中删除了几行代码 preg_replace('/(<!DOCTYPE(.*?)<fields )/s', '<fields ', $readSettings); preg_replace('/(不是100%确定你在问什么。你能在正则表达式之后发布一个HTML示例吗 这将删除多余的空白 preg_replace( '~\s{2,}~', '', $str ); 您还可以查看PHPDOM(PHP手册),将HTML

我使用preg_replace和str_replace从xml文件中删除了几行代码

preg_replace('/(<!DOCTYPE(.*?)<fields )/s', '<fields ', $readSettings);

preg_replace('/(不是100%确定你在问什么。你能在正则表达式之后发布一个HTML示例吗

这将删除多余的空白

preg_replace( '~\s{2,}~', '', $str );
您还可以查看PHPDOM(PHP手册),将HTML加载到其中,然后将preserveWhiteSpace和formatOutput设置为false

添加

preg_replace( '~\s+\n+\s+\n+~', "\n", $str );
我想可以,但正如前面提到的,你可以用PHPDOM来实现,它会更灵活

$doc = new DOMDocument();
$doc->loadHTML( $html );
$doc->preserveWhiteSpace = true; // Or false?
$doc->formatOutput = true;
echo $doc->saveHTML();

请参阅@AlexHowansky,thnx,但它需要额外的lib安装和特定的设置,我使用的代码是为许多人设计的,他们的环境无法匹配。如果(class_exists('Tidy')){…},请使用
包装您的代码
在这里找到了解决方案我已经发布了链接,在这里,您的建议是删除xml文件中的所有空格。我想清理格式化