0

私は巨大な文字列を持っていて、そのどこかに「letters、numbers、numbers」という部分があり、その部分を見つけてpreg_replace()で2つの数字を更新しようとしています。正規表現がわかりません。これが私が持っているものです:

preg_replace('/'.$slug.',{0-9},{0-9}/', $slug.','.$num1.','.$num2, $mystring);

しかし、それは機能しません。私は正規表現の初心者です、誰か助けてもらえますか?ありがとう!

4

3 に答える 3

0

これで試してください:

preg_replace('/'.preg_quote($slug).',\d+,\d+/', $slug.','.$num1.','.$num2, $mystring);
于 2012-08-03T03:45:36.007 に答える
0

あなたはこのようにそれをしたいです:

$result = preg_replace('/('.$slug.'),([0-9]*),([0-9]*)/', '$1,'.$num1.','.$num2, $subject);
于 2012-08-03T04:18:27.037 に答える
0

他の例に基づいてあなたが言ったエラーから判断する$slugと、正規表現に干渉している可能性があります。preg_quote()予約文字をエスケープして、これが発生しないようにするのに役立ちます。

これを試して:

preg_replace('/' . preg_quote($slug) . ',{0-9},{0-9}/', "$slug,$num1,$num2", $mystring);
于 2012-08-03T04:18:28.737 に答える