2011-11-03 82 views
1

我需要幫助正則表達式模式來匹配2個網址?我目前的代碼與第一個網址相匹配,但我如何創建一個匹配這兩個網址的模式。我試圖在每個網址的最後獲得隨機字符。如何匹配2個網址與一個正則表達式

http://www.videozer.com/video/yKKd

http://www.videozer.com/watch_video.php?v=rbgsd

preg_match('/http\:\/\/((www\.)?)videozer\.com\/video\/([a-zA-Z0-9]+)/', $URL, $result); 
+0

我會做一個單獨的模式,檢查他們兩個,並繼續我的生活。 –

+2

已經有很多已經問過的URL正則表達式問題了,你確定它們中沒有一個適合你嗎? – deviousdodo

回答

3
preg_match('@http://(?:www\.)?videozer\.com/(?:video/|watch_video\.php\?v=)([a-zA-Z0-9]+)@', $URL, $result); 
  1. 使用(abc|def)要匹配字符串 'ABC' 或 'DEF'
  2. 使用不同的分隔符,這樣你就不必逃避/
+0

你能幫我解釋一下這個:@http://(?:www \。)(。*?)\。(?:com | net | es)/([a-zA-Z0-9] + )/ @'我需要域名和com,net,es前綴後的路徑名稱 – bammab

1

這應做到:

preg_match('/http\:\/\/((www\.)?)videozer\.com\/(video\/|watch_video\.php\?v=)([a-zA-Z0-9]+)/', $URL, $result); 
相關問題