PHP preg_replace() - 逗号分隔值?

时间:2012-08-03 03:42:33

标签: php regex preg-replace

我有一个巨大的字符串,其中的某个部分是"字母,数字,数字"我试图找到那个部分并使用preg_replace()更新这两个数字。我无法弄清楚正则表达式。这就是我所拥有的:

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

但它不起作用。我是一个正则表达式noobie,任何人都可以帮忙吗?谢谢!

3 个答案:

答案 0 :(得分:0)

试试这个:

preg_replace('/'.preg_quote($slug).',\d+,\d+/', $slug.','.$num1.','.$num2, $mystring);

答案 1 :(得分:0)

你想这样做:

$result = preg_replace('/('.$slug.'),([0-9]*),([0-9]*)/', '$1,'.$num1.','.$num2, $subject);

答案 2 :(得分:0)

根据您提到的基于另一个示例的错误来判断,$slug可能会干扰正则表达式。 preg_quote()有助于防止这种情况发生,逃避保留字符。

试试这个:

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