間のテキストを置き換えます。PHP正規表現は、私は次の文字列を持っているブラケットとブラケット
括弧内のテキストを取得する方法はわかりましたが、括弧自体を置き換えたいと思います。
$string = "Welcome [firstname] [lastname]";
$patterns = array();
$patterns[0] = '\[firstname\]';
$patterns[1] = '\[lastname\]';
$replacements = array();
$replacements[0] = 'Marcello';
$replacements[1] = 'Silvestri';
echo preg_replace($patterns, $array, $string]);
私も\[(.*?)\]
は関係なく、角括弧の内容のすべてを置き換えるためにしようと試みたが、私はちょうどMarcello
をしたい一方で、私は、[Marcello]
のようなものを取得します。
角括弧を含むコンテンツを置き換えるにはどうすればよいですか?
パターンを事前および区切り文字を付加する必要も参照してください、あなたは以下のコードを見ることができる小さなテストをしました。 '/ '[firstname \] /'のように'/'を使用することができます。 – treegarden
将来、エラー報告を使用してください。 'Parse error:syntax error、unexpected error ']' on line 12'が修正された後、'デリミタは英数字でもバックスラッシュであってはいけません。 http://php.net/manual/en/regexp.reference.delimiters.php – chris85