私がしたいのは、中括弧で囲まれたスペースをすべて見つけて、別の文字で置き換えます。変更するには中かっこで囲まれたすべてのスペースを置き換えます。
{The quick brown} fox jumps {over the lazy} dog
::のような
何か
{The*quick*brown} fox jumps {over*the*lazy} dog
は、私はすでにオンラインで検索、しかし、これだけは、私がこれまでに得たものであり、それは私が本当に欲しいものに非常に近いと思われます。
preg_replace('/(?<={)[^}]+(?=})/','*',$string);
上記のコードで私の問題は、それがすべて置き換えられていることされています
{*} fox jumps {*} dog
を私はスペースのみを交換するために上記のコードを変更する必要があります方法を理解するために正規表現のチュートリアルに探したが無駄にされました。どんな入力も高く評価されます。
ありがとうございました。
$result = preg_replace('/ (?=[^{}]*\})/', '*', $subject);
これは、次のブレースが終了である場合にのみスペースと一致し、置き換え:すべてのブレースが正しく入れ子になって、ネストされた括弧がないことをされている、あなたは先読みアサーションを使用してこれを行うことができますと仮定すると
ただ、文字列は、間に「*」と一緒に戻ってスペースと、その後猫結果の配列の間で爆発します。申し訳ありませんが、あまりにも疲れて、例を書いていません。 – noel