Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/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从HTML中删除所有样式?_Php - Fatal编程技术网

如何使用PHP从HTML中删除所有样式?

如何使用PHP从HTML中删除所有样式?,php,Php,可能重复: $input='text'; // ... 这里有些代码,可能是正则表达式 $desired_输出='text'; 如何使用PHP执行上述操作?尝试以下操作,您需要一个正则表达式将其删除 $desired_output = preg_replace('/<\s*style.+?<\s*\/\s*style.*?>/si', ' ', $input ); 我不想删除所有属性,我只想删除“style”属性!重复问题中有一些很好的例子,说明了如何具体删除样式标记或仅

可能重复:

$input='text';
// ... 这里有些代码,可能是正则表达式
$desired_输出='text';

如何使用PHP执行上述操作?

尝试以下操作,您需要一个正则表达式将其删除

$desired_output = preg_replace('/<\s*style.+?<\s*\/\s*style.*?>/si', ' ', $input );

我不想删除所有属性,我只想删除“style”属性!重复问题中有一些很好的例子,说明了如何具体删除样式标记或仅删除单个属性。@RIMMER我在该问题中的回答正好说明了这一点。此外,还有大量其他副本解释如何从元素中删除属性。也有一看,我再次发现自己不得不张贴这个链接。你不能用正则表达式解析HTML@GordonM:DOM解决方案可能更好,但使用正则表达式从HTML提取信息是完全有效的解决方案,只要它能工作。@Blender-除了它不能工作之外,这就是为什么它是无效的解决方案。
$desired_output = preg_replace('/<\s*style.+?<\s*\/\s*style.*?>/si', ' ', $input );
$desired_output = preg_replace('%style="[^"]+"%i', '', $input);