0

私は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>

コンテンツ内のそのテーブルを削除するには?

4

3 に答える 3

3
$content = str_replace('<table>
  <tr>
    <td>TD 1</td>
    <td>TD 2</td>
  </tr>
</table>','by new string',$content);

このような HTML を置き換える場合は、文字列に余分な空白を含めないようにする必要があります。str_replace は完全に一致し、それ以外の場合は失敗します。

代替手段は次のとおりです。

于 2012-10-18T19:33:10.467 に答える
0

まず、正規表現を使用しないでください。 HTML を編集する最善の方法は、DOMDocumentクラスを使用して HTML を解析することです。

于 2012-10-18T19:39:03.037 に答える
-2

使用できますpreg_replace()。何かを間違えると失敗する可能性が高いstr_replace()ので、私はそれを使用しませんが、一致させるものを正確に知っていて、正確に入力できる場合は、より良いオプションです.

preg_replace('/<table>.*<\/table>/s', '', $content);

正規表現の使い方がわからない場合は、調べて学習してください。正規表現を調整することで、置き換えたいものを多かれ少なかれ具体的にすることができます。

于 2012-10-18T19:35:24.667 に答える