【发布时间】:2014-12-23 01:56:55
【问题描述】:
我正在为一个客户开发一个网站,该客户是一家青年足球(足球)俱乐部。他们有很多不同的团队,我在 WordPress 中将它们创建为类别,例如 Under 7s Falcons (slug = under-7s-falcons)。对于网站的一部分,我需要使用类别 slug 链接到每个团队页面,但是这些页面的 URL 格式略有不同:/under-7s/falcons。我一直在尝试使用 PHP 的preg_replace() 函数将/under-##s-falcons 位之后的- 替换为破折号,使其显示为/under-##s/falcons。这是我的代码:
$teamPage = preg_replace("/under-[1-9]{1,2}s-/", "/", $teamPage);
如您所见,我正在尝试匹配 'under' 之后的 -,然后是两位数(每个年龄,最多 16 岁,但我设置了 1-9,因为它更容易)。但是,这只是将整个under-##s 位替换为/。我将如何更改它以便仅将 - 替换为 /?
感谢您的帮助:)
【问题讨论】:
-
无论是后视还是
\K,或者只是捕获并重新插入$1领先的东西。
标签: php regex preg-replace