0

1 OR 2PHPでは、またはのような値の文字列があります1 AND (20 OR 3)。これらの数字をフレーズの後に数字を付けて置き換えて、次のようなcondition1意味を持たせたいと思います。

1 OR 2=>condition1 OR condition2

1 AND (20 OR 3)=>condition1 AND (condition20 OR condition3)

preg_replaceを使用してこれを行うことはできると思いますが、その方法がわかりません。交換中に数字の値を維持するのに苦労しています。

それが簡単になるなら、私もjavascriptで答えを受け入れます

4

2 に答える 2

3

演算子への引数が文字列内の唯一の数値である場合は、次のことができます。

$new = preg_replace( '/(\d+)/', 'condition$1', $input);

これは、連続する任意の桁数と一致し、キャプチャグループにキャプチャします。キャプチャグループは、後で置換で。として参照し$1ます。

このデモから、テストケースの場合、次の出力が得られることがわかります。

condition1 OR condition2
condition1 AND (condition20 OR condition3)
于 2013-02-07T20:20:09.850 に答える
1

str_replace($ search、$ replace、$ string)を使用できます

$search can be array whatever you want to replace
$replace can alse be an array wherever you want to replace in a string
$string is a string where you want to change

それはあなたの問題の解決策ですか、それとも何か他のものが欲しいですか?

于 2013-02-07T20:22:10.643 に答える