2013-07-17 67 views
-2

我在數據庫中列的內容,例如用如下:使用正則表達式從數據庫更改img src?

<table border="0" cellspacing="1" cellpadding="1" width="200" align="center"> 
<tbody> 
    <tr> 
     <td> 
      <a href="http://example.cz/cz/katalog/some_product/"> 
       <img src="http://example.cz/article/3584/photo/some_product.jpg" /> 
      </a> 
     </td> 

     <td> 
      <a href="http://example.cz/cz/katalog/some_product2/"> 
       <img src="http://example.cz/article/3584/photo/some_product2.jpg" /> 
      </a> 
     </td> 
    ... 

,如果我做一個MySQL查詢得到這個內容我需要的圖像和href標記的源改變到另一個網站(路徑是一樣的),例如像這樣:

<table border="0" cellspacing="1" cellpadding="1" width="200" align="center"> 
<tbody> 
    <tr> 
     <td> 
      <a href="http://anotherWebsite.cz/cz/katalog/some_product/"> 
       <img src="http://anotherWebsite.cz/article/3584/photo/some_product.jpg" /> 
      </a> 
     </td> 

     <td> 
      <a href="http://anotherWebsite.cz/cz/katalog/some_product2/"> 
       <img src="http://anotherWebsite.cz/article/3584/photo/some_product2.jpg" /> 
      </a> 
     </td> 
    ... 

我試圖函數:

str_replace('example', 'anotherWebsite', $content); 

,但沒有結果。有其他方法可以取代它嗎?例如與正則表達式?如果正則表達式是你能告訴我怎麼樣的方式?因爲我不擅長正則表達式。真的感謝。

+0

你做'$內容= str_replace函數?

你也可能需要添加規則( '示例', 'anotherWebsite',$內容);' – Orangepill

+0

更安全將是:' $ content = str_replace(''http://example.cz/',''http://anotherWebsite.cz/',$ content);' – anubhava

回答

1

str_replace應該工作。你確定你將新值賦給了變量嗎?

$content = str_replace('example', 'anotherWebsite', $content); 
+0

Jeez太可惜了,可能我還在睡覺。回覆。 –

2

以常見條件運行str_replace可能會產生意想不到的結果。你可以說更具體的

$content = str_replace(array('href="http://example.cz/','src="http://example.cz/'), 
         array('href="http://anotherWebsite.cz/','src="http://anotherWebsite.cz/'), 
         $content); 

這樣它只取代屬於href attrbute src一部分的值。 'VS「以及

相關問題