は、私はすべて、スペースを含む中括弧の間のすべてを置き換えるためのコード例を持ってしてくださいすることができますように:?PHPは中かっこの間のすべてを置き換えますか?私はそれを学ぶことは決してありません:(これは難しいことではありませんプリプレグを吸う
$string = preg_replace('{.*?}#si', '', $string);
か何か?
は、私はすべて、スペースを含む中括弧の間のすべてを置き換えるためのコード例を持ってしてくださいすることができますように:?PHPは中かっこの間のすべてを置き換えますか?私はそれを学ぶことは決してありません:(これは難しいことではありませんプリプレグを吸う
$string = preg_replace('{.*?}#si', '', $string);
か何か?
あなたが最初の#
区切り文字欠落していた。
'#\{.*?\}#s'
をオンラインで作業、それを参照してください:ideone
他のマイナーなポイントのカップル:あなたはパターン内の任意の文字を持っていないので、
i
修飾子はここでは不要です。{
と}
を正規表現でエスケープして、量子としての使用を混乱させないようにしてください。ただし、厳密には必要ではありません。他の質問を読んだ後、あなたのコードを美しくするためにこれを使いたいと思うようです。多くのエディタが単一のファイルに対してこの機能を組み込んでいますが、これを多数のファイルに適用したいと考えています。この場合は、https://github.com/clbustos/PHP_Beautifierを参照してください。
コメントの編集:あなたは正直なところ、正規表現を使用したくありません。 php tokenizerを使用します。
私は自分の美化器を作ろうとしています –
@JohnJenkins:他の人にお金のためにそれを書いてもらうことを要求することによって? – mario
私は広告なしで完全に無料で提供しています。私はほとんどそれを自分で使用します –
返信いただきありがとうございますが、最初の括弧が削除され、括弧内のすべてが残っていました。 –
@John Jenkins:野生の推測として、あなたは '\}'を忘れてしまったと思います。そうでなければ、最後の '#'の直前に余分なスペースや文字があります。より具体的なヘルプが必要な場合は、コードを投稿してください。 –
私はあなたが私に与えたコードをコピーして貼り付けました。私は他の何かのためにコードをゆっくりと修正しようとすることで、今は別のものを試しています:$ string = preg_replace( '#([{。*?}])*?([{。*?}])# ( '\ t $ 2') "、$ string);それはすべての期間と疑問符の後にタブを追加しますが、私はすべての括弧の間にすべてのためにそれを行うためにしたいと思います。 –