PHP 批量刪除網(wǎng)頁內(nèi)容中超級鏈接
來源:程序員人生 發(fā)布時(shí)間:2014-05-16 17:20:59 閱讀次數(shù):3288次
在做內(nèi)容站時(shí),經(jīng)常會用到采集軟件在互聯(lián)網(wǎng)上大肆侵略別站的資源,一采集就是幾千篇的文章,采集之后,發(fā)現(xiàn)內(nèi)容中有些原站點(diǎn)的超級鏈接,要是一個(gè)個(gè)去改的話,很麻煩,所以寫了個(gè)方法,測試成功。
簡單說一下原理,這里重利用的是 PHP 的替換函數(shù) preg_replace,在實(shí)際應(yīng)用中,我們經(jīng)常使用 preg_replace 去替換一些危險(xiǎn)字符或去轉(zhuǎn)換一些斜杠或回車等.
preg_replace($1,$2,$3) 有三個(gè)重要的參數(shù),其中 $1 是要搜索的字符串,$2 是要替換成的字符串,$3 是要進(jìn)行替換的字符串。
那么知道了 preg_replace 函數(shù)工作的原理,那么進(jìn)行替換超鏈接就不難了,我們只需要將參數(shù) $1 和 $2 轉(zhuǎn)換成數(shù)組,進(jìn)行批量替換,以下是方法,測試成功,共享給 phper,代碼如下:
- <?php
- $str="<a href="xxx">超級鏈接</a>|<a href="xxx">這是個(gè)鏈接</a><br>";
- function removelink($str){
- $mode=array("#<a href="(.*)">#iUs","#</a>#iUs");
- $want=array("","");
- $con=preg_replace($mode,$want,$str);
- return $con;
- }
- echo removelink($str);
- ?>
或如下代碼:
- <?php
- $content = file_get_contents('test.html');
- $url = 'http://www.phpfensi.com'; //要換成的新網(wǎng)址
- $preg = '/[s]href=("|')[S]*("|')/i';
- $replace = ' href="' . $url . '"';
- $content = preg_replace($preg, $replace, $content);
- create_log('newhtml', $content);
- ?>
都是可以的.
生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈