最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

php基于DOMDocument操作頁(yè)面元素實(shí)例 原創(chuàng)

原創(chuàng)  更新時(shí)間:2023年06月27日 09:21:15   原創(chuàng) 投稿:shichen2014  
這篇文章主要介紹了php基于DOMDocument操作頁(yè)面元素,結(jié)合實(shí)例形式分析了php使用DOMDocument進(jìn)行頁(yè)面元素獲取與屬性修改的相關(guān)操作技巧,需要的朋友可以參考下

問(wèn)題

有如下代碼,要求不使用正則表達(dá)式的情況下修改鏈接為 http://www.fzitv.net/softs/ 

<p>歡迎訪問(wèn)<span>腳本之家</span>
    <a href="http://www.fzitv.net/">軟件下載</a>
</p>

解決方法

筆者使用了DOMDocument進(jìn)行操作,實(shí)例如下:

<?php
header('Content-Type: text/html; charset=utf-8');
// 原始HTML代碼
$cont = '<p>歡迎訪問(wèn)<span>腳本之家</span><a href="http://www.fzitv.net/">軟件下載</a></p>';
// 創(chuàng)建DOMDocument對(duì)象
$dom = new DOMDocument();
//$dom->encoding = 'UTF-8';
//@$dom->loadHTML($cont,LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
@$dom->loadHTML(mb_convert_encoding($cont, 'HTML-ENTITIES','UTF-8'),LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$aElem = $dom->getElementsByTagName('a');
$aElem[0]->setAttribute('href','http://www.fzitv.net/softs/');
// 給a鏈接添加rel="nofollow"屬性
$aElem[0]->setAttribute('rel','nofollow');
$content = $dom->saveHTML();
//$content = mb_convert_encoding($content, 'UTF-8', 'ISO-8859-1');
// 輸出修改后的HTML代碼
echo $content;
?>

運(yùn)行上述代碼,則頁(yè)面源碼即被修改為:

<p>歡迎訪問(wèn)<span>腳本之家</span><a href="http://www.fzitv.net/softs/" rel="nofollow">軟件下載</a></p>

這里要注意:loadHTML載入html文本的時(shí)候,需要指定編碼,筆者這里使用的是mb_convert_encoding($cont, 'HTML-ENTITIES','UTF-8') 進(jìn)行編碼轉(zhuǎn)換,另外筆者所測(cè)試網(wǎng)上搜索到的$dom->encoding = 'UTF-8'; 以及 $content = mb_convert_encoding($content, 'UTF-8', 'ISO-8859-1');???均未起到作用。

補(bǔ)充

此外,修改元素innerHtml屬性也很簡(jiǎn)單,只需要設(shè)置其nodeValue值即可,上述示例繼續(xù)擴(kuò)展如下:

<?php
header('Content-Type: text/html; charset=utf-8');
//echo $codeid = date('YmdHis').mt_rand(1000,9999);
// 原始HTML代碼
$cont = '<p>歡迎訪問(wèn)<span>腳本之家</span><a href="http://www.fzitv.net/">軟件下載</a></p>';
// 創(chuàng)建DOMDocument對(duì)象
$dom = new DOMDocument();
//$dom->encoding = 'UTF-8';
//@$dom->loadHTML($cont,LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
@$dom->loadHTML(mb_convert_encoding($cont, 'HTML-ENTITIES','UTF-8'),LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$aElem = $dom->getElementsByTagName('a');
$aElem[0]->setAttribute('href','http://www.fzitv.net/softs/');
// 給a鏈接添加rel="nofollow"屬性
$aElem[0]->setAttribute('rel','nofollow');
//修改span元素的innerHtml值
$spanElem = $dom->getElementsByTagName('span');
$spanElem[0]->nodeValue = '【腳本之家軟件下載】===>';
$content = $dom->saveHTML();
//$content = mb_convert_encoding($content, 'UTF-8', 'ISO-8859-1');
// 輸出修改后的HTML代碼
echo $content;
?>

此時(shí)再次訪問(wèn),頁(yè)面元素就變成了:

<p>歡迎訪問(wèn)<span>【腳本之家軟件下載】===&gt;</span><a href="http://www.fzitv.net/softs/" rel="nofollow">軟件下載</a></p>

相關(guān)文章

最新評(píng)論

班戈县| 关岭| 米泉市| 靖宇县| 镇远县| 丽水市| 合川市| 金沙县| 磴口县| 忻城县| 垫江县| 荥经县| 峨山| 苏州市| 建昌县| 达拉特旗| 兰考县| 上林县| 定远县| 东港市| 庄浪县| 拉萨市| 余干县| 临泉县| 乌苏市| 萨迦县| 南雄市| 漳平市| 任丘市| 罗江县| 馆陶县| 惠水县| 台南市| 高要市| 贵南县| 青岛市| 金昌市| 泸州市| 榆林市| 乡宁县| 阿鲁科尔沁旗|