【发布时间】:2016-08-20 19:26:56
【问题描述】:
我正在使用 Wordpress 的 add_rewrite_rules 的正则表达式。
我的目标是匹配具有单个目录且其中至少包含一个破折号的 URL,并返回该目录。
我找到了这个:
'^([a-zA-Z0-9]*-[a-zA-Z0-9]*){1,20}/?$' => 'index.php?pagename=location&location=$matches[1]'
如果有连字符则匹配,但只返回字符串的结尾(最后一个连字符之后的部分)。
所以:
test/ 失败(应该如此,因为没有连字符)
te-st/ 通过,但只返回变量的“st”。
te-st-ing/ 传递,但只为变量返回“ing”。
te-st-ing/a/ 失败(因为还有另一个目录)
我对表达式有点迷茫,但目标是“test-st”会通过但会返回整个“te-st”字符串。我认为对于知道如何处理表达式的人来说,这应该是一个简单的解决方法?
谢谢!
【问题讨论】:
标签: regex wordpress url-rewriting expression