亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

問題

有如下代碼,要求不使用正則表達式的情況下修改鏈接為 http://chabaoo.cn/softs/ 

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

解決方法

筆者使用了DOMDocument進行操作,實例如下:

<?php
header('Content-Type: text/html; charset=utf-8');
// 原始HTML代碼
$cont = '<p>歡迎訪問<span>腳本之家</span><a href="http://chabaoo.cn/">軟件下載</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://chabaoo.cn/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://chabaoo.cn/softs/" rel="nofollow">軟件下載</a></p>

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

補充

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

<?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://chabaoo.cn/">軟件下載</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://chabaoo.cn/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://chabaoo.cn/softs/" rel="nofollow">軟件下載</a></p>

相關(guān)文章

  • 使用Codeigniter重寫insert的方法(推薦)

    使用Codeigniter重寫insert的方法(推薦)

    下面小編就為大家?guī)硪黄褂肅odeigniter重寫insert的方法(推薦)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • 利用curl 多線程 模擬 并發(fā)的詳解

    利用curl 多線程 模擬 并發(fā)的詳解

    本篇文章是對利用curl多線程模擬并發(fā)進行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php+html5基于websocket實現(xiàn)聊天室的方法

    php+html5基于websocket實現(xiàn)聊天室的方法

    這篇文章主要介紹了php+html5基于websocket實現(xiàn)聊天室的方法,實例分析了php結(jié)合html5的websocket通訊的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • 使用Zttp簡化Guzzle 調(diào)用

    使用Zttp簡化Guzzle 調(diào)用

    在 PHP 的項目中,如果你需要通過代碼來發(fā)起 HTTP 請求,相信很多人對 GuzzleHttp 這個 Package 很熟悉,然而其實在使用 Guzzle 的時候,我們依然可以做得更簡便一點的,下面我們就來看下今天的主角--Zhttp
    2017-07-07
  • 深入理解php中unset()

    深入理解php中unset()

    這篇文章主要介紹了深入理解php中unset(),對unset感興趣的同學(xué),可以參考下
    2021-04-04
  • 使用PHP操作ElasticSearch搜索引擎詳解

    使用PHP操作ElasticSearch搜索引擎詳解

    ElasticSearch是一個基于Lucene的開源搜索引擎,它提供了強大的全文搜索和分析功能,本文將深入探討如何使用PHP操作ElasticSearch搜索引擎,包括安裝ElasticSearch、使用ElasticSearch PHP客戶端庫進行索引管理和搜索操作等,需要的朋友可以參考下
    2024-04-04
  • PHP防止表單重復(fù)提交的幾種常用方法匯總

    PHP防止表單重復(fù)提交的幾種常用方法匯總

    這篇文章主要介紹了PHP防止表單重復(fù)提交的幾種常用方法匯總,在PHP項目開發(fā)中有不錯的實用價值,需要的朋友可以參考下
    2014-08-08
  • 如何直接訪問php實例對象中的private屬性詳解

    如何直接訪問php實例對象中的private屬性詳解

    這篇文章主要給大家介紹了關(guān)于如何直接訪問php實例對象中private屬性的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • php中filter_input函數(shù)用法分析

    php中filter_input函數(shù)用法分析

    這篇文章主要介紹了php中filter_input函數(shù)用法,實例分析了采用filter_input函數(shù)過濾各種外部輸入的方法,對于PHP程序設(shè)計來說具有不錯的參考借鑒價值,需要的朋友可以參考下
    2014-11-11
  • PHP實現(xiàn)抓取HTTPS內(nèi)容

    PHP實現(xiàn)抓取HTTPS內(nèi)容

    這篇文章主要介紹了PHP實現(xiàn)抓取HTTPS內(nèi)容,以及遇到的問題的解決方法,需要的朋友可以參考下
    2014-12-12

最新評論