我在URL中的匹配模式和获得正确结果方面遇到问题。
URL示例:
#1: http://www.example.com/webapp/first-text-vs-some-text.html
#2: http://www.example.com/webapp/first-text-a1-vs-sec-b2-text.html
#3: http://www.example.com/webapp/first-text-a1-vs-sec-b2-text-vs-third-c3-text.html
#4: http://www.example.com/webapp/some-text-a1-vs-sec-text-b2-vs-third-text-vs-last-text-c1.html
没有-vs-的结果(提示:-vs-可以在上面的URL中显示一次或重复显示):
#1: first-text and some-text
#2: first-text-a1 and sec-b2-text
#3: first-text-a1, sec-b2-text and third-c3-text
#4: some-text-1a, sec-text-b2, third-text and last-text-c1
有没有PHP循环的方法可以做到这一点?
有一种情况是,URL结构中的-vs可以被找到一次或多次。
我应该用几个模式来获得结果,还是可以用一个模式匹配来完成?
我应该先拆分给定的URL,然后检查字符&符号-vs-?
你有没有遇到过这种情况?有什么想法吗?
非常感谢您的帮助和分享想法,以获得最终结果!
您可以使用以下正则表达式([^'/.]+?)(?:-vs-|'.'w+$)
和preg_match_all
来返回-vs-
之前和之后的不同部分。
Regex演示