2011-10-20 2 views
0

は、テキストのブロックで次の

ルックを行うための最も簡単な方法は何で、どこでも、それは%sometxt%何か他のものとそれを置き換える見つけ

そうに自分の「スマーティ」などのタグを作成する方法基本的にどのようにSmartyがこれを行うのと同様のパーセンテージ記号のセットに囲まれたテキストですか?

+2

"Reiku 50%vs. Razor 80%"のような2つの '% '文字を含むテキストはどうでしょうか?あなたは "sometxt"が何であるかを定義できますか? – hakre

答えて

2

あなたが尋ねた最も簡単な方法:あなただけstr_replaceと交換

$blockOfText = str_replace('%sometxt%', 'something else', $blockOfText); 

+0

素晴らしい感謝の仲間!シンプルで効果的な:) – Zabs

2
$newText = preg_replace('/%.+?%/', 'replacedText', $text); 

する必要があります。 replacedTextは、%sometxt%を置き換えたいものである必要があります。

正規表現%.+?%は、ファイン、私は別の%看板を見つけるまで、任意の文字が続く%記号を、

を意味します。

?は、「レイジー」という表現を作成するため、最初の出現は%になります。

+2

なぜ 'i'修飾子ですか?すべての文字を一致させるので、大文字小文字を無視する必要はありませんか? – Marcus

+0

@Marcusそれを指摘してくれてありがとう。愚かな私! – Bojangles

+0

実際のタグを照合するために、彼はあなたの式の%記号の間に実際の可変テキストを追加する必要があります。さらに、式では%記号をデリミタとして使用します。最後に、パターンの配列と置換の配列を渡すことで、単一のメソッド呼び出しで複数の置換を行うことができます。 –