strip_tags删除除允许标记之外的所有标记。对面怎么样?我怎样才能删除并保留所有其他标签?我不想删除标签内的内容!谢谢!
答案 0 :(得分:1)
如果标签没有属性,您只需使用
即可$html = str_replace(array('<b>', '</b>', '<i>', '</i>'), '', $html);
否则,我建议使用DOM函数(请不要使用正则表达式)。
答案 1 :(得分:0)
我无法看到正则表达式对于这类任务的错误。
这将是我的解决方案:
$str = 'test <b class="abc">bold</B> <a href="test.html">testsite</A> <i>italic</i> more stuff <strong>strong</Strong>';
$html_clean = preg_replace('/<\/{0,1}[b|i][^>]*>/i','',$str);
echo $html_clean;
它只替换b和i标签,包括标签内的可选属性。
要包含更多标签,您可以将它们添加到[b | i]声部。