preg_replace() 的意外结果
Unexpected results with preg_replace()
我有这样的网址:
/catalog/kitchen-knives-and-accessories/?clear_cache=Y
通过使用 preg_replace()
我想让它看起来像这样:
section_code=kitchen-knives-and-accessories
将所有内容标记为粗体,这是我希望从输入中得到的预期结果
现在我正在使用:
#^/catalog/([^/]+)#
作为正则表达式,但是当我将它与 preg_replace()
一起使用时,它并没有给我预期的输出。参见:http://www.phpliveregex.com/p/dW1
我需要在正则表达式中更改什么才能获得预期结果?
如果你想使用 preg_replace()
你必须匹配整个字符串并简单地用捕获组替换它,例如
$newStr = preg_replace("#^.*/catalog/([^/]+).*#", "section_code=", $str);
我有这样的网址:
/catalog/kitchen-knives-and-accessories/?clear_cache=Y
通过使用 preg_replace()
我想让它看起来像这样:
section_code=kitchen-knives-and-accessories
将所有内容标记为粗体,这是我希望从输入中得到的预期结果
现在我正在使用:
#^/catalog/([^/]+)#
作为正则表达式,但是当我将它与 preg_replace()
一起使用时,它并没有给我预期的输出。参见:http://www.phpliveregex.com/p/dW1
我需要在正则表达式中更改什么才能获得预期结果?
如果你想使用 preg_replace()
你必须匹配整个字符串并简单地用捕获组替换它,例如
$newStr = preg_replace("#^.*/catalog/([^/]+).*#", "section_code=", $str);