Php 文本处理并将其插入数据库

Php 文本处理并将其插入数据库,php,domdocument,Php,Domdocument,我抓起一个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?

我抓起一个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>
从164.99美元到80.00美元再到124.95美元
我是否清楚地表明了我要做什么


致以最诚挚的问候。

您可以使用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();

?>

您可以使用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();

?>

可能重复使用PHP+DomDocument,这是从HTML中提取信息的正确工具。或者只需包含jquery,并将代码设置为所有href(s)的值为#,在html代码上方的数据库中使用PHP+DomDocument,这是从html中提取信息的正确工具。或者只包含jquery并将所有href(s)的值设置为#的代码放在DBI中html代码的上方,就会得到以下错误警告:DOMDocument::loadHTML():htmlParseEntityRef:应为“;”在实体中。在下一行:$dom->loadHTML($doctype.$html);那是因为你的html格式不好!例如,您的HTML中有&condition,它应该是&;Condition我收到以下错误警告:DOMDocument::loadHTML():HTMLParserEntityRef:应为“;”在实体中。在下一行:$dom->loadHTML($doctype.$html);那是因为你的html格式不好!例如,您的HTML中有&condition,它应该是&;条件