簡體   English   中英

需要PHP正則表達式以匹配URL中的模式

[英]Need PHP regex to match pattern in URL

我在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-之前和之后的不同部分。

正則表達式演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM