機能:
1. コンテンツ内の URL、メール、画像を取得します。
2. コンテンツ内の URL、メールアドレス、画像を置き換えます。
url: xxx
メール: admin@admin.com
画像:
コードをコピー
コードは次のとおりです: /**grep クラス
* Date: 2013-06-15
* Author: fdipzone
* Ver: 1.0
*
* Func:
*
* set: 内容を設定
* get: 指定された内容を返す
* replace: 置換後に返す
* get_pattern の内容は型に応じたパターンを返します
*/
class Grep{ // class start
private $_pattern = array(
'url' => '/
'メール' => .]+ @[w-.]+(.w+))/',
'image' => '//i'
);
private $_content = ''; // ソースコンテンツ
/* 検索コンテンツを設定します
* @param String $content
*/
public function set($ content=''){
$this->_content = $content;
}
/* 指定されたコンテンツを取得します
* @param String $type
* @param int $unique 0:all 1: unique
* @ return Array
*/
public function get($type='', $unique=0){
$type = strto lower($type);
if($this->_content==' ' || ! in_array($type, array_keys($this->_pattern)){
return array()
}
$pattern = $this->get_pattern($type);
preg_match_all($ pattern, $this->_content, $matches);
return isset($matches[1])? ( $unique==0? $matches[1] : array_unique($matches[1]) ) : array( );
}
/* 置換されたコンテンツを取得します
* @param String $type
* @param String $callback
* @return String
*/
public function replace($type='' , $callback =''){
$type = strto lower($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);
}
/* 型に応じてパターンを取得
* @param String $type
* @return String
*/
private function get_pattern($type){
return $this-> ;_pattern[$ type];
}
} // クラス終了
?> charset=utf8');
$content = file_get_contents('http:// www.test.com/');
$obj = new Grep();
$url = $obj->get('url', 0); $email = $obj->get('email', 1);
$image = $obj->get('image', 1);
print_r($url); ; print_r($image); $url_new = $obj->replace ('url', 'replace_url');
function replace_url($matches){
return isset($matches[ 1])? '[url]'.$matches[1].'[/ url]' : '';
http://www.bkjia.com/PHPjc/726021.html
www.bkjia.com
true
http://www.bkjia.com/PHPjc/726021.html
技術記事
機能: 1. コンテンツ内の URL、電子メール、画像を取得します。 2. コンテンツ内の URL、電子メール、画像を置き換えます。 URL: a href="url"xxx/a email: admin@admin.com image: img src="image" Grep.class.ph...