【问题标题】:How do I erase all styles from HTML using PHP? [duplicate]如何使用 PHP 从 HTML 中删除所有样式? [复制]
【发布时间】:2012-03-31 20:35:29
【问题描述】:

可能重复:
php regexp: remove all attributes from an html tag

$input = '<div style="font-size: 18px; line-height: 20px;" id="whatever">text</div>';

// ... some code here, probably regex

$desired_output = '<div id="whatever">text</div>';

如何使用 PHP 完成上述操作?

【问题讨论】:

  • 我不想删除所有属性,我只想删除“样式”属性!
  • 重复问题中有一些很好的例子,展示了如何专门删除样式标签或只删除单个属性。
  • @RIMMER 我在那个问题中的回答正好表明了这一点。还有很多额外的副本解释了如何从元素中删除属性。也看看stackoverflow.com/questions/3820666/…

标签: php


【解决方案1】:

尝试以下你需要一个正则表达式来去除它。

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

或者这个

$desired_output = preg_replace('%style="[^"]+"%i', '', $input);

【讨论】:

  • 我又一次发现自己不得不发布这个链接。您无法使用正则表达式解析 HTML。 stackoverflow.com/a/1732454/477127
  • @GordonM:DOM 解决方案可能更好,但使用正则表达式从 HTML 中提取信息是一个完全有效的解决方案,只要它有效。
  • @Blender - 除了它不起作用,因此它是一个无效的解决方案。
猜你喜欢
  • 2011-09-09
  • 1970-01-01
  • 2014-02-14
  • 2021-08-19
  • 2012-07-13
  • 1970-01-01
  • 2016-04-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多