当前位置: 主页 > 编程知识 > Php编程 > 阐述PHP正则表达式的使用方法

阐述PHP正则表达式的使用方法

时间:2010-5-10来源:站长资讯网 点击:

PCRE正则表达式函数:

preg_match()和preg_match_all()
preg_quote()
preg_split()
preg_grep()
preg_replace()

函数的具体使用,我们可以通过PHP手册来找到,下面分享一些平时积累的正则表达式:

匹配action属性

$str = ‘‘;
$match = ‘‘;
preg_match_all(‘/\s+action=\"(?!http:)(.*?)\"\s/‘, $str, $match);
print_r($match);

在正则中使用回调函数

/**
* replace some string by callback function
*
*/
function callback_replace() {
$url = ‘http://esfang.house.sina.com.cn‘;
$str = ‘‘;
$str = preg_replace ( ‘/(?<=\saction=\")(?!http:)(.*?)(?=\"\s)/e‘, ‘search(\$url, \\1)‘, $str );

echo $str;
}

function search($url, $match){
return $url . ‘/‘ . $match;
}

带断言的正则匹配

$match = ‘‘;
$str = ‘xxxxxx.com.cn bold font
paragraph text

‘;
preg_match_all ( ‘/(?<=<(\w{1})>).*(?=<\/\1>)/‘, $str, $match );
echo "匹配没有属性的HTML标签中的内容:";
print_r ( $match );

替换HTML源码中的地址

$form_html = preg_replace ( ‘/(?<=\saction=\"|\ssrc=\"|\shref=\")(?!http:|javascript)(.*?)(?=\"\s)/e‘, ‘add_url(\$url, \‘\\1\‘)‘, $form_html );

最后,正则工具虽然强大,但是从效率和编写时间上来讲,有的时候可能没有explode来的更直接,对于一些紧急或者要求不高的任务,简单、粗暴的方法也许更好。

而对于preg和ereg两个系列之间的执行效率,曾看到文章说preg要更快一点,具体由于使用ereg的时候并不多,而且也要推出历史舞台了,再加个个人更偏好于PCRE的方式,所以笔者就不做比较了,熟悉的朋友可以发表下意见,谢谢。

站长资讯网
.
分页: [1] [2]
TAG: PHP 正则表达式
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言