0

テキストで、最後に出現した文字列と文字列の間のすべてを削除したいと考えて<br>います。

私がこのテキストを持っているとしましょう:

Lorem ipsum dolor sit amet, <br> 
consectetur adipisicing elit, <br> 
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. <br> 
Some text I want to remove because it is useless.

<br>最後と「無駄」の間のすべてを削除したい。(区切り文字を含む)。

期待される結果は次のようになります。

Lorem ipsum dolor sit amet, <br> 
consectetur adipisicing elit, <br> 
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
4

3 に答える 3

1
$modified_text = preg_replace('/^(.*)<br>(.*)$/s', '$1', $original_text);

これによりmodified_text、 の最後までのすべてを含む変数が作成さ<br>original_textます。

于 2013-07-28T06:27:39.687 に答える
0

次のように実行できます。

$txt = preg_replace('~<br>(?>[^<u]++|<(?!br>)|u(?!seless))*(?>useless\.?|$)~', '', $txt);

興味:

  • いくつかのバックトラック
  • いくつかの先読みテスト (a<または anuが見つかった場合のみ)
  • dotall モードは役に立たない
于 2013-07-28T11:37:24.263 に答える