2013-08-28 31 views
1

我抓住一個html代碼並將其插入到我的數據庫中。文本處理並將其插入數據庫

看起來像這樣,但我不需要這個確切的。我需要相同的html代碼,但我希望它裏面的所有鏈接都有href =「#」,我不知道我該怎麼做。

<div id="olpDivId"> <span class="olpCondLink" ><a class="buyAction olpBlueLink" href="/gp/offer-listing/B002YDZSQM/ref=dp_olp_new/192-2317768-5155903?ie=UTF8&condition=new">4&nbsp;new</a>&nbsp;from&nbsp;<span class="price">$164.99</span></span> <span class="olpCondLink" ><a class="buyAction olpBlueLink" href="/gp/offer-listing/B002YDZSQM/ref=dp_olp_used/192-2317768-5155903?ie=UTF8&condition=used">18&nbsp;used</a>&nbsp;from&nbsp;<span class="price">$80.00</span></span> <span class="olpCondLink" ><a class="buyAction olpBlueLink" href="/gp/offer-listing/B002YDZSQM/ref=dp_olp_refurbished/192-2317768-5155903?ie=UTF8&condition=refurbished">6&nbsp;refurbished</a>&nbsp;from&nbsp;<span class="price">$124.95</span></span> </div> 

我是否清楚自己想要做什麼?

此致敬禮。

+0

可能重複[PHP預浸\ _replace所有以#鏈接](http://stackoverflow.com/questions/6791248/ php-preg-replace-all-the-link-with) – JimL

+0

使用PHP + DomDocument這是從HTML中提取信息的正確工具。 [PHP的DOMDocument:如何選擇特定標籤下的所有鏈接](http://stackoverflow.com/questions/4514903/php-domdocument-how-to-select-all-links-under-a-specific-tag) – Prix

+0

或者只是包含jquery,並將代碼設置所有href(s)的值爲#,在DB代碼 – Lab

回答

1

您可以使用的DOMDocument解析HTML並對其進行編輯:

<?php 

    $html='<div id="olpDivId"> <span class="olpCondLink" ><a class="buyAction olpBlueLink" href="/gp/offer-listing/B002YDZSQM/ref=dp_olp_new/192-2317768-5155903?ie=UTF8&condition=new">4&nbsp;new</a>&nbsp;from&nbsp;<span class="price">$164.99</span></span> <span class="olpCondLink" ><a class="buyAction olpBlueLink" href="/gp/offer-listing/B002YDZSQM/ref=dp_olp_used/192-2317768-5155903?ie=UTF8&condition=used">18&nbsp;used</a>&nbsp;from&nbsp;<span class="price">$80.00</span></span> <span class="olpCondLink" ><a class="buyAction olpBlueLink" href="/gp/offer-listing/B002YDZSQM/ref=dp_olp_refurbished/192-2317768-5155903?ie=UTF8&condition=refurbished">6&nbsp;refurbished</a>&nbsp;from&nbsp;<span class="price">$124.95</span></span> </div>'; 
    $dom = new domDocument; 
    $dom->loadHTML( $html); 
    $dom->preserveWhiteSpace = false; 
    $links = $dom->getElementsByTagName("a"); 
    foreach($links as $link){ 
     $link->setAttribute('href','#'); 
    } 
    echo $dom->saveHTML(); 

?> 
+0

以上的html代碼中出現以下錯誤警告:DOMDocument :: loadHTML():htmlParseEntityRef:expected';'在實體中。在以下行上:$ dom-> loadHTML($ doctype。$ html); –

+0

這是因爲你的HTML是**不是**格式良好! – undone

+0

例如,您的**和條件**在HTML中應該是** &條件** – undone

相關問題