質問: preg_replace('%jquery\(window\)\.on(\'load\',\s*function\(\)\s*{\s*new\s*jcaption\(\'img.caption\');\s*}\);\s*%', '', $this->_script);
回答: これは非常に古い質問であり、おそらくもう誰も読んでいないでしょうが、とにかく私は私の答えを投稿します。jqueryキャプションの正規表現でエラーが発生しました。ドットをエスケープする必要はありませんが、特殊文字をエスケープする必要があります。また、配列内の正しいキーをターゲットにする必要があるため、スクリプトオブジェクトを呼び出した後に['text/javascript']を追加する必要があります。したがって、正しいregex/preg_replaceは次のようになります。$this->_script['text/javascript'] = preg_replace('%jquery\(window\).on\(\'load\',\s*function\(\)\s*\{\s*new\s*jcaption\(\'img.caption\'\)\;\s*\}\)\;\s*%', '', $this->_script['text/javascript']); 少し前まで私は正規表現にも苦労していましたが、このサイトは大いに役立ちました: http://regexr.com/ サイトを試す場合は、openを使用する必要はなく、既に自動的に存在するため、タグを閉じます。