0

こんにちは私はこのlexパーサーテンプレートを持っています。これには、無限ループが発生したために削除したいコールバックタグが含まれています。

PHPで試しましpreg_replaceたが、白い画面が表示されます。削除したいタグは次の形式です:

{{ search:query term="value" .. more attributes .. }}

  // any content between these tags needs to be removed as well, including new lines

{{ /search:query }}

そして、これはpreg_replaceでの私の試みです:

$text = preg_replace('@\{\{\ssearch:(.*?)\}\}(.*?)\{\{\s/search:(.*?)\s\}\}@is','',$text);

しかし、それは機能しません。なぜアドバイスはありますか?

4

1 に答える 1

0
$text = preg_replace('\{\{\s+search:query(\s+\S+=".*")+\s*\}\}.*\{\{\s*/search:query\s*\}\}Uims', '', $text);

欠落している複数の空白、1つ以上のattr="value"ペア、複数行を処理し、欲張りではありません。

于 2012-07-28T15:41:55.837 に答える