/**
* 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 . 'https://www.jb51.net/' . $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 );
元字符
在上面的例子中,^ 、d 及 $ 等这些符号,代表了特定的匹配意义,我们称之为元字符,常用的元字符如下:
元字符 说明
. 匹配除换行符意外的任意字符
w 匹配字母或数字或下划线
s 匹配任意的空白符
d 匹配数字
b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束
[x] 匹配x字符,如匹配字符串中的 a、b 和 c 字符
W w的反义,即匹配任意非字母,数字,下划线和汉字的字符
S s的反义,即匹配任意非空白符的字符
D d的反义,即匹配任意非数字的字符
B b的反义,即不是单词开头或结束的位置
[^x] 匹配除了 x 意外的任意字符,如 [^abc] 匹配除了 abc 这几个字母之外的任意字符
您可能感兴趣的文章: