我想尝试按类名删除标签class =“btn” 从$ str变量下面使用php代码
$str = '<div class="btn-holder">
<a class="btn" href="=#">
<span>Log In</span>
</a>
<p><strong>
<em>
<a id="reset" href="#">Reset My Password</a>
</em>
</strong>
</p>
</div>';
答案 0 :(得分:0)
试试这个:
$str = '<div class="btn-holder">
<a class="btn" href="=#">
<span>Log In</span>
</a>
<p><strong>
<em>
<a id="reset" href="#">Reset My Password</a>
</em>
</strong>
</p>
</div>';
$result = preg_replace('/<a href=\"(.*?)\">(.*?)<\/a>/', "\\2", $str);
echo $result;
答案 1 :(得分:0)
preg_replace('#<a.*?class="btn".*?>.*?</a>#', '', $str);
答案 2 :(得分:0)
$str = '...';
echo preg_replace('/<(\w)+.*?class=["\']btn["\'].*?>(.*?)</\1>/s', '', $str);
此RegEx从$ str。
中删除所有带有“btn”类的元素如果您想保留代码内容,请在\\2
上使用preg_replace
。
echo preg_replace('/<(\w)+.*?class=["\']btn["\'].*?>(.*?)</\1>/s', '\\2', $str);
答案 3 :(得分:0)
不要'使用正则表达式来解析XML文档。还有其他方法可以做到这一点。例如:
$doc = new DOMDOcument;
$doc->loadxml('your XML');
$xpath = new DOMXpath($doc);
foreach($xpath->query('//s[contains(@class,"btn")]') as $node) {
$node->parentNode->removeChild($node);
}
echo $doc->savexml();
答案 4 :(得分:0)
我认为,更好的方法是使用jquery库。
$('a.btn').remove();