ホームページ >バックエンド開発 >PHPチュートリアル >preg_replace_callback の使用に関する問題

preg_replace_callback の使用に関する問題

WBOY
WBOYオリジナル
2016-06-23 13:53:59924ブラウズ

$pattern = array(
'/2de7396c38fb34bc42fc5741409b96e3|n]*?({.+?})[^978499b733a9eb1b20b5c67425e25365/', //スマートなコメントを置き換えます
'/06d229d22d00ee76c3f2f961d8fa7b71|{|n]*?-->/', ])../(.*?)(["|'])/ i', // 相対リンクを置き換えます
:./|../)?(images/) .*?["|'])/is', // 画像の前に $tmp_dir を追加します
'/((?:background| background-image):s* ?url()(?:./|../)?(images/)/is', // 画像の前に $tmp_dir を追加します
, // キャッシュモジュールなし
); '1' . $tmp_dir . '2' . $tmp_dir ' ', preg_replace($ pattern, $replace, $source);

preg_replace_callback を使用して置換を記述するにはどうすればよいですか?




ディスカッションに返信(解決策)

/e 属性を変更 取り出して一人で作ってください

 $source = preg_replace_callback(   '/{nocache}(.+?){\/nocache}/is',    create_function('$r', "'{insert name=\"nocache\" ' . '" . $this->_echash . "' . base64_encode($r[1]) . '}'"),   $source);


ありがとう、試してみます。

/e 修飾子により、preg_replace() は置換パラメータを PHP コードとして扱います (適切な後方参照が置換された後)

ご回答ありがとうございます。ポイントを付与します
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。