我想从PHP中的'a'html元素中删除'class'属性。
示例1:
<p class="red">Link: <a href="http://www.google.com" style ="margin: 0px">google</a>.</p>
结果:
<p class="red">Link: <a href="http://www.google.com" style ="margin: 0px">google</a>.</p>
示例2:
<p class="red">Link: <a href="http://www.google.com" class = "link" style="margin: 0px" >google</a>.</p>
结果:
<p class="red">Link: <a href="http://www.google.com" style="margin: 0px" >google</a>.</p>
答案 0 :(得分:1)
正则表达式很好。我爱他们,虽然他们在被滥用的情况下会像顽皮的女孩一样行事。所以我要用漂亮的 DomDocument :
来做这件事<?php
$html = <<< EOT
<p class="red">Link: <a href="http://www.google.com" class = "link" style="margin: 0px" >google</a>.</p>
EOT;
$dom = new DOMDocument();
$dom->loadHTML($html);
$a = $dom->getElementsByTagName('a');
foreach($a as $tag)
$tag->removeAttribute('class');
$html = $dom->saveHTML();
echo $html;
答案 1 :(得分:0)
试试这个
(<a(?:\s+\w+\s*=\s*(?P<quote>["']).*?(?P=quote))*)\s+class\s*=\s*(?P<q>["']).*?(?P=q)
替换为\1
。