2015-02-06 88 views
0

考慮存儲在數據庫中下面的代碼更換幾個值:用PHP DOM HTML解析器(新手)

<section id="aids" data-toggle="collapse" data-target="#aids2" class="SecCon"> 
    <h2><span class="label label-primary"><small><span class="only-collapsed glyphicon glyphicon-chevron-down"></span><span class="only-expanded glyphicon glyphicon-remove-sign"></span></small> Aids</span></h2> 
    <div id="aids2" class="collapse in article"> 
    <p>Some text.</p> 
    </div> 
</section> 

我想將其更改爲這個簡單的格式:

<section id="directions"> 
    <h2>Directions</h2> 
    <div><p>Some text.</p></div> 
</section> 

<section id="ecology"> 
    <h2>Ecology</h2> 
    <div><p>Some text.</p></div> 
</section> 

這是我真正關注的代碼。我將爲每個部分手動插入一個唯一的ID,當然,每個頭部也都有唯一的標題。

<section id="SomeValue"> 
    <h2>Another Value</h2> 
    <div> 

在用戶可以使用jQuery切換打開或關閉的元素之前,data-target和div id必須具有匹配的值。修改標題或章節ID以形成這些「輔助ID」時,我發現了幾個問題。所以,我認爲這將是更好,如果他們只是由小寫字母順序(A,B,C等)......

<section data-target="#a"> 
    <h2></h2> 
    <div id="a"> 

<section data-target="#b"> 
    <h2></h2> 
    <div id="b"> 

我試圖找出如何使用正則表達式做到這一點,但很建議HTML DOM解析器更好。所以我從http://simplehtmldom.sourceforge.net/下載了這些文件,並開始玩它。

我可以做一些非常簡單的練習,但我還沒有想出如何做這個項目呢。充其量,我一次只能改變一個元素。

我有一個數據庫查詢,從我的數據庫中提取一篇文章爲$ Content。如果我想,以取代「斑馬」,「土豚」我應該這樣做:

$Content = str_replace('zebra', 'aardvark', $Content); 
echo $Content; 

如何堵住這個HTML解析器,因此所有的類,連續的div和glyphicons加入進來?

+0

的非常好只是儘量發揮與它周圍,不要標記使用的字符串操作,使用該庫中的方法,玩弄' - > class'性質,http://simplehtmldom.sourceforge.net/manual.htm。反正,也考慮['DOMDocument'](http://php.net/manual/en/class.domdocument.php)其內置已經 – Ghost 2015-02-06 00:38:36

回答