我有一个php文件:
$content = str_replace('search old string','by new string',$content);
$content = str_replace('search old string','by new string',$content);
它适用于搜索和替换或删除字符串。 但如果旧字符串是一个段落,例如:
<table class="adverting_I_want_to_remove">
<tr>
<td>Dynamic Advertise content 1</td>
<td>Dynamic Advertise content 2</td>
</tr>
</table>
如何在内容中删除该表?
答案 0 :(得分:3)
$content = str_replace('<table>
<tr>
<td>TD 1</td>
<td>TD 2</td>
</tr>
</table>','by new string',$content);
请注意,如果要替换此类HTML,则必须确保在字符串中不包含额外的空格。 str_replace完全匹配,否则将失败。
替代方案
答案 1 :(得分:0)
首先,don't use regular expressions.编辑HTML的最佳选择是使用DOMDocument类来解析它。
答案 2 :(得分:-2)
您可以使用preg_replace()
。 str_replace()
失败的可能性如果/当你输入错误的东西是我不会使用它的原因,但如果你确切地知道你想要匹配什么并且可以精确地输入它,那么它是更好的选择。
preg_replace('/<table>.*<\/table>/s', '', $content);
如果您不知道如何使用正则表达式,请查找它们并了解它们。通过调整正则表达式,您可以或多或少地具体了解要替换的内容。