2011-07-13 35 views
0

我正在提供反向鏈接銷售服務,但在檢查發佈商網站上出售的鏈接時遇到問題。比如我要檢查檢查給定的代碼是否正確?通過正則表達式(PHP)

<a href="http://www.example.com" title="example">example</a> 

我可以檢查這一點,但有些用戶添加target="_blank"一些target="_new" ...該代碼的結構是由網站管理員改變。

我想用正則表達式來檢查代碼。正則表達式應該檢查href="",title=""和a標籤之間(<a>here</a>)。

回答

0

我做了你:

$str = "<a onclick=\"foo()\" href=\"http://www.example.com\" title=\"example\">example</a>" ; 

function url_grab($html) 
{ 
    preg_match("/<a\s+.*href=(\"|')([^\\1]+)(\\1).*>(.+)<\/a>/U" , $html , $m) ; 
    return array($m[ 2 ] , $m[ 4 ]) ; 
} 

// test it 
var_dump(url_grab($str)) ; 

輸出:

array(2) { 
    [0]=> 
    string(22) "http://www.example.com" 
    [1]=> 
    string(7) "example" 
} 
+0

嗯,我一定有誤讀你寫的 - 認爲你只希望href和標籤之間有什麼 – Frederik

+0

這幾乎是我想要的,只是標題缺失..我不明白正則表達式,如果你添加標題屬性它是完全沒問題的。我的意思是我需要,href,標題和標籤之間有什麼.. –

+0

好吧再次感謝你的迴應..我解決了它.. –

0

使用this parser,而不是正則表達式,這是很酷,但這個工作的錯誤的工具。

+0

你是對的,這是一個錯誤的工具,我需要,但感謝您的興趣..我要寫一篇關於這個的教程;) –