私が使っていた正規表現が正規表現を「スワロー」しないようにするにはどうすればよいですか?
$regex = '/\{([a-z]+?)\}(.+?)\{/i';
これはしかし、最後のブレース{それツバメことで問題を引き起こし、それが「勝ったので
{word} definition
{another word} another definition {word} they don't have to be on different lines
のようなテキストファイルを持っています次の単語の次の{と一致する。実証するために
、私はここでの目的
echo preg_replace($regex, '<b style="background-color: red;">$1</b><b style="background-color: yellow;">$2</b>', $content);
をデバッグするためにこれをやった(したがって、それが正規表現にマッチしていない、次のワードで開くブレースがない注意)私の出力の一例です
<b style="background-color: red;">shrub</b><b style="background-color: yellow;"> Multi stemmed woody plant</b>Abaxial} side or face away from the axis
これを動作させるにはどうすれば正規表現を修正できますか?
EDITあなたの答えのための
多くの感謝をいただき、ありがとうございます。正規表現を変更しました
$regex = '/\{([a-z\-\s]+?)\}([^\{]+)/i';
また、先読み記事も調べます。