功能:
1.獲取內(nèi)容中的url,email,image。
2.替換內(nèi)容中的url,email,image。
url: a href= url xxx /a
email:admin@admin.com
image: img src= image
Grep.html' target='_blank'>class.php
?php /** grep class * Date: 2013-06-15 * Author: fdipzone * Ver: 1.0 * Func: * set: 設(shè)置內(nèi)容 * get: 返回指定的內(nèi)容 * replace: 返回替換后的內(nèi)容 * get_pattern 根據(jù)type返回pattern class Grep{ // class start private $_pattern = array( url = / a.*?href= ((http(s)?:////).*?) .*?/si , email = /([/w/-/.]+@[/w/-/.]+(/./w+))/ , image = / img.*?src=/ (http:////.+/.(jpg|jpeg|gif|bmp|png))/ /i private $_content = // 源內(nèi)容 /* 設(shè)置搜尋的內(nèi)容 * @param String $content public function set($content= ){ $this- _content = $content; /* 獲取指定內(nèi)容 * @param String $type * @param int $unique 0:all 1:unique * @return Array public function get($type= , $unique=0){ $type = strtolower($type); if($this- _content== || !in_array($type, array_keys($this- _pattern))){ return array(); $pattern = $this- get_pattern($type); // 獲取pattern preg_match_all($pattern, $this- _content, $matches); return isset($matches[1])? ( $unique==0? $matches[1] : array_unique($matches[1]) ) : array(); /* 獲取替換后的內(nèi)容 * @param String $type * @param String $callback * @return String public function replace($type= , $callback= ){ $type = strtolower($type); if($this- _content== || !in_array($type, array_keys($this- _pattern)) || $callback== ){ return $this- _content; $pattern = $this- get_pattern($type); return preg_replace_callback($pattern, $callback, $this- _content); /* 根據(jù)type獲取pattern * @param String $type * @return String private function get_pattern($type){ return $this- _pattern[$type]; } // class end ? ?php header( content-type:text/htm;charset=utf8 require( Grep.class.php $content = file_get_contents( http://www.test.com/ $obj = new Grep(); $obj- set($content); $url = $obj- get( url , 0); $email = $obj- get( email , 1); $image = $obj- get( image , 1); print_r($url); print_r($email); print_r($image); $url_new = $obj- replace( url , replace_url echo $url_new; function replace_url($matches){ return isset($matches[1])? [url] .$matches[1]. [/url] : ? 以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,更多相關(guān)內(nèi)容請(qǐng)關(guān)注PHP !
相關(guān)推薦:
通過php實(shí)現(xiàn)CMS中展示文章類
關(guān)于PHP中preg_replace() 正則替換所有符合條件的字符串的方法
以上就是php如何獲取頁面中指定內(nèi)容的實(shí)現(xiàn)類的詳細(xì)內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。
新聞熱點(diǎn)
疑難解答
圖片精選