-1

重複の可能性:
ereg式をpregに変換する

これをさまざまな方法で試し、addedbytes.comから正規表現リファレンスシートをダウンロードしましたが、このeregi_replace()ステートメントをpreg_replace()ステートメントに移動する方法がわかりません。

preg_replace()の区切り文字の要件を読んで理解しましたが、問題は修飾子にあると思います。この関数に使用する修飾子を知るにはどうすればよいですか?\ A、\ b、および\ eを試しましたが、どれも機能していないようです。単に足りないものがあると思います。

$bodytag = '%%BODY%%';
$header = eregi_replace($bodytag . '.*', '', $temp);
$footer = eregi_replace('.*' . $bodytag, '', $temp);

私は次のことを試しました:

$header = preg_replace('/%%BODY%%.*/i', '', $temp);
$footer = preg_replace('/.*%%BODY%%/i', '', $temp);

しかし、それは機能していないようです。私は何が欠けていますか?

編集

最近、私はこれを修正せずに試しました。

$bodytag = "%%BODY%%";
$header = preg_replace("/".$bodytag."(.*)/i", '', $temp);
$footer = preg_replace("/(.*)".$bodytag."/i", '', $temp);
4

2 に答える 2

1

解決済み:

これが解決策であることが判明しました。

$header = preg_replace("/".$bodytag."(.*)/is", '', $temp);
$footer = preg_replace("/(.*)".$bodytag."/is", '', $temp);

別のウェブサイトのフォーラムから助けと答えを得た。「s」修飾子がありませんでした。また、修飾子を積み重ねることができることにも気づいていませんでした。

于 2011-07-25T18:54:08.640 に答える
0

$ header = preg_replace('/BODY(.*)/i'、''、$ temp); $ footer = preg_replace('/(.*)BODY/i'、''、$ temp);

于 2011-07-14T22:36:06.820 に答える