[英]Regular expression for add_rewrite_rules with at least one hyphen
我正在使用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/
pass,但只返回變量的“st”。
te-st-ing/
pass,但只返回變量的“ing”。
te-st-ing/a/
failed(因為還有另一個目錄)
我對表達式有點失落,但目標是“te-st”會通過,但會返回整個“te-st”字符串。 我認為對於知道如何處理表達式的人來說,這應該是一個簡單的解決方案嗎?
謝謝!
只是為了確保至少有一個連字符,你可以使用:
'^([^-/]*-[^/]*)/?$' => 'index.php?pagename=location&location=$matches[1]'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.