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

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

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

問題

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

<p>歡迎訪問<span>腳本之家</span>
    <a href="http://m.fzitv.net/">軟件下載</a>
</p>

解決方法

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

<?php
header('Content-Type: text/html; charset=utf-8');
// 原始HTML代碼
$cont = '<p>歡迎訪問<span>腳本之家</span><a href="http://m.fzitv.net/">軟件下載</a></p>';
// 創(chuàng)建DOMDocument對象
$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://m.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;
?>

運行上述代碼,則頁面源碼即被修改為:

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

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

補(bǔ)充

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

<?php
header('Content-Type: text/html; charset=utf-8');
//echo $codeid = date('YmdHis').mt_rand(1000,9999);
// 原始HTML代碼
$cont = '<p>歡迎訪問<span>腳本之家</span><a href="http://m.fzitv.net/">軟件下載</a></p>';
// 創(chuàng)建DOMDocument對象
$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://m.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;
?>

此時再次訪問,頁面元素就變成了:

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

相關(guān)文章

  • php數(shù)組索引與鍵值操作技巧實例分析

    php數(shù)組索引與鍵值操作技巧實例分析

    這篇文章主要介紹了php數(shù)組索引與鍵值操作技巧,涉及php數(shù)組的遍歷與索引、鍵值操作的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • PHP中=>和->以及::符號的用法

    PHP中=>和->以及::符號的用法

    講完了php基礎(chǔ)運算符,下面再講一下,php新手經(jīng)常碰到的問題,->、=> 和 :: 這三個家伙是什么分別都是做什么的啊!看著就很暈
    2021-09-09
  • PHP實現(xiàn)逐行刪除文件右側(cè)空格的方法

    PHP實現(xiàn)逐行刪除文件右側(cè)空格的方法

    這篇文章主要介紹了PHP實現(xiàn)逐行刪除文件右側(cè)空格的方法,涉及php針對文件的打開、逐行讀取、rtrim函數(shù)刪除右側(cè)空格及文件保存等技巧,需要的朋友可以參考下
    2015-12-12
  • 幾行代碼輕松實現(xiàn)PHP文件打包下載zip

    幾行代碼輕松實現(xiàn)PHP文件打包下載zip

    這篇文章主要為大家詳細(xì)介紹了使用PHP自帶zlib函數(shù) ,輕松實現(xiàn)PHP文件打包下載zip,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Laravel?Eloquent?ORM高級部分解析

    Laravel?Eloquent?ORM高級部分解析

    這篇文章主要為大家介紹了Laravel?Eloquent?ORM高級部分解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • PHP @ at 記號的作用示例介紹

    PHP @ at 記號的作用示例介紹

    @符號一直不知道是什么意思,其實它是錯誤控制符,即即使出現(xiàn)錯誤,也無視出現(xiàn)的錯誤信息,繼續(xù)執(zhí)行下邊的代碼
    2014-10-10
  • php的POSIX 函數(shù)以及進(jìn)程測試的深入分析

    php的POSIX 函數(shù)以及進(jìn)程測試的深入分析

    本篇文章是對php的POSIX函數(shù)以及進(jìn)程測試進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php中sort函數(shù)排序知識點總結(jié)

    php中sort函數(shù)排序知識點總結(jié)

    在本篇文章里小編給大家分享的是一篇關(guān)于php中sort函數(shù)排序知識點總結(jié)內(nèi)容,有興趣的朋友們可以參考下。
    2021-01-01
  • PHP實現(xiàn)HTML頁面靜態(tài)化的方法

    PHP實現(xiàn)HTML頁面靜態(tài)化的方法

    這篇文章主要介紹了PHP實現(xiàn)HTML頁面靜態(tài)化的方法,分享了靜態(tài)處理的方法,靜態(tài)處理后的優(yōu)勢,并提供了多種靜態(tài)的方法,感興趣的小伙伴們可以參考一下
    2015-11-11
  • PHP讀寫文件高并發(fā)處理操作實例詳解

    PHP讀寫文件高并發(fā)處理操作實例詳解

    這篇文章主要介紹了PHP讀寫文件高并發(fā)處理操作,結(jié)合實例形式較為詳細(xì)的分析了php高并發(fā)訪問讀寫操作相關(guān)處理操作技巧,需要的朋友可以參考下
    2018-03-03

最新評論

吴忠市| 乌鲁木齐市| 西畴县| 荣昌县| 花垣县| 攀枝花市| 临西县| 崇礼县| 洛阳市| 汕尾市| 海林市| 怀仁县| 巍山| 沭阳县| 哈尔滨市| 屯留县| 叙永县| 永春县| 宜川县| 汝城县| 乌鲁木齐市| 大同市| 瑞安市| 连州市| 达州市| 长顺县| 双峰县| 灵璧县| 白山市| 扶余县| 秀山| 弥勒县| 阿克| 洪雅县| 登封市| 赣榆县| 彰化市| 涞水县| 万宁市| 健康| 雅江县|