2010-07-30 45 views
0

可能重複:
Regex to change format of all img src attributesPHP的正則表達式爲獲取圖像

嗨,

我想取代我的內容數據庫字段圖像路徑。

我有以下

preg_replace("/src='(?:[^'\/]*\/)*([^']+)'/g","src='newPath/$2'",$content); 

這是工作的罰款

src="/path/path/image.jpg" 

,但無法接通

src="http://www.mydomain.com/path/path/image.jpg" 

任何幫助來繞過這個問題?

+1

通過'http :: //'應該是通過'http://' – Sarfraz 2010-07-30 09:36:35

+2

我會說,它一般用於失敗包在雙引號的屬性值。 – Gumbo 2010-07-30 09:40:48

回答

2

請勿對此使用正則表達式。使用一個HTML解析器,如Simple HTML DOM

$html = file_get_html('http://www.example.com/sourcepage.html'); 

foreach($html->find('img') as $element) 
{  
    $new_src = "Do stuff with new src here"; 
    $element->src = $new_src; 
} 

echo $html; // Output new code 
+1

推薦的第三方替代品,實際使用DOM而不是字符串分析:[phpQuery](http://code.google.com/p/phpquery/),[Zend_Dom](http://framework.zend.com/manual/ en/zend.dom.html)和[FluentDom](http://www.fluentdom.org)。 – Gordon 2010-07-30 09:40:11

+0

謝謝工作很容易做! – ntan 2010-07-30 10:14:40