1

「#」で始まる単語と終わる単語を見つけて置き換えるタスクがあります。

例 - 私の文字列は次のようになります。

#performer1# のために手を上げてください。 #event# のために手を上げてください。

出力として期待するのは次のとおりです。

#performer1#のために手を上げ、 #event#のために手を上げます。

私はPHPの正規表現について何も知りません。私は初心者です。誰か助けてもらえますか?

4

1 に答える 1

2

すでに提案したように、preg_replace 関数がうまくいくはずです。今必要なのは、このような正規表現です

$string = "Put your hands up in the air for #performer#, ...";
$pattern = "/#(\w+)#/";
$replacement = '<strong>$1</strong>';
$new_string = preg_replace($pattern, $replacement, $string);

マジック ビットは、$pattern何を探すかを指定する変数です。何かを括弧で囲むと、$replacement変数の実際の内容を参照できます。

基本的には、、、または\w+のいずれかであるできるだけ多くの文字 (および少なくとも 1 つ) に一致します。a-zA-Z0-9_

PHP PCRE パターン構文は、正規表現の使用方法に関するヒントをさらに提供します。

于 2013-08-01T08:41:00.857 に答える