1

PHPで正規表現を使用して、2文字を含む2文字間のすべてを文字列から削除しようとしています。このページの回答を使用してみましたので、php ファイルに次のような行があります。

$message = preg_replace('\[[^\]]*]', '', $message);

問題は、次のエラーが発生することです。

警告: preg_replace() [function.preg-replace]: 区切り文字は英数字またはバックスラッシュであってはなりません

どうすればこれを修正できますか?

4

2 に答える 2

4

PHP の正規表現は、次のように区切る必要があります。

$message = preg_replace('/\[[^\]]*]/', '', $message);

このドキュメントをチェックしてください。

]また、補足として、文字クラスの最初の文字である場合は、終了をエスケープする必要はありません。

$message = preg_replace('/\[[^]]*]/', '', $message);

(この場合、それがより読みやすいかどうかは議論の余地があります。しかし、知っておくとよいでしょう。)

于 2012-10-24T14:39:56.757 に答える