0

これらのタグの間のコンテンツを置き換えて、タグを保持する必要があります

$source="Original string <p>bal bla bla</p>**** <!--{date}-->REPLACE ME!!!<!--/{date}-->"
$replaceText = '2012-06-14';
$start = '<!--{date}-->';
$end = '<!--/{date}-->';

preg_replace('#('.preg_quote($start).')(.*)('.preg_quote($end).')#si', '$1'.$replaceText.'$3', $source);

結果は次のとおりです。

"Original string <p>bal bla bla</p>**** 012-06-14<!--/{date}-->"

開始タグと 2. アイデアがありませんか?

4

2 に答える 2

3

これは、このようにすると、 : '$12012-06-14$3'が代わりに得られるためです。だから私はそれがかかっていると思って$12います$1

${1}代わりにドキュメントに書かれていることをテストしたいかもしれません$1

于 2012-06-14T14:39:15.257 に答える
1

varとreplaceTextの間にスペースを入れてください

そのように

preg_replace('#('.preg_quote($start).')(.*)('.preg_quote($end).')#si', '$1 '.$replaceText.' $3', $source);
于 2012-06-14T14:42:19.570 に答える