str_replace删除段落PHP

时间:2012-10-18 19:26:34

标签: php str-replace paragraph

我有一个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>

如何在内容中删除该表?

3 个答案:

答案 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);

如果您不知道如何使用正则表达式,请查找它们并了解它们。通过调整正则表达式,您可以或多或少地具体了解要替换的内容。