//刪除一對中括號內(nèi)的內(nèi)容:
$str = 'abc[url]123[/url]xyz';
$pattern = '/\[url\S*\[\/url\S*\]/';
$str = preg_replace($pattern, '', $str);
echo $str . ''; //輸出:abcxyz
//PHP匹配多對中括號中的內(nèi)容:
$str = '這是[3]def[25]我的[26]';
$pattern = '/\[([a-z0-9]+)\]/';
preg_match($pattern, $str, $match);
print_r($match);
//匹配所有大括號里面的內(nèi)容:
$str = 'abc{title}def{author}mn';
$pattern = '/{(.*)}/U';
preg_match($pattern, $str, $match);
print_r($match);
//匹配網(wǎng)頁源代碼中的圖片路徑:
$str = '<img alt="標題" id="pic" src="http://test.cn/avatar.jpg" />';
$pattern = '/<img.*?src="(.*?)".*?\/?>/i';
preg_match($pattern,$str,$match);
print_r($match);
//匹配當前頁面的所有超鏈接:
$str = '<a ;
$pattern = '/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/a>/i';
preg_match($pattern, $str, $match);
print_r($match);
//匹配郵件
$str = '12345@qq.com';
$pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i";
preg_match($pattern, $str, $match);
print_r($match);
//匹配11位手機號:
$str = '13299803211';
$pattern = "/^1(3|5|8)\d{9}$/";
preg_match($pattern, $str, $match);
print_r($match);
//匹配139開頭的11位手機號碼
$str = '13912345678';
$pattern = '/^139\d{8}$/';
preg_match($pattern,$str,$match);
print_r($match);
//UTF-8編碼下提取字符串中的中文:
$str = 'hello 中文 byebye';
$pattern = '/[\x{4e00}-\x{9fa5}]+/u';
preg_match($pattern, $str, $match);
print_r($match); //“中文”
//替換字符串中的中文為空
$res = preg_replace($pattern,'',$str);
echo $res.’';
//分割中文字符串為等長度元素的數(shù)組(英文可以用str_split散吵,但中文會亂碼)
$str = '中文字符串';
$res = preg_split('/(?<!^)(?!$)/u', $str);
print_r($res);
//過濾網(wǎng)頁上的所有script標記
$str = '<script type="text/javascript" src="dd.js">alert(123);</script><p style="color: red">測試php正則匹配掉js代碼</p>';
$pattern = "/<script[\s\S]*?<\/script>/i"; //過濾JS標簽
$pattern = "/<[\/\!]*?[^<>]*?>/si"; //過濾HTML標簽
$res = preg_replace($pattern, "", $str);
echo $res.’';
//替換<b>標簽為空
$str = '<b>abc</b><b>abc</b>';
$pattern = '/<b>(.*?)<\/b>/';
$res = preg_replace($pattern,'\\1',$str);
echo $res.'';
//刪除一對中括號內(nèi)的內(nèi)容:
$str = 'abc[url]123[/url]xyz';
$pattern = '/\[url\S*\[\/url\S*\]/';
$str = preg_replace($pattern, '', $str);
echo $str . ''; //輸出:abcxyz
//PHP匹配多對中括號中的內(nèi)容:
$str = '這是[3]def[25]我的[26]';
$pattern = '/\[([a-z0-9]+)\]/';
preg_match($pattern, $str, $match);
print_r($match);
//匹配所有大括號里面的內(nèi)容:
$str = 'abc{title}def{author}mn';
$pattern = '/{(.*)}/U';
preg_match($pattern, $str, $match);
print_r($match);
//匹配網(wǎng)頁源代碼中的圖片路徑:
$str = '<img alt="標題" id="pic" src="http://test.cn/avatar.jpg" />';
$pattern = '/<img.*?src="(.*?)".*?\/?>/i';
preg_match($pattern,$str,$match);
print_r($match);
//匹配當前頁面的所有超鏈接:
$str = '<a ;
$pattern = '/<a(.*?)href="(.*?)"(.*?)>(.*?)<\/a>/i';
preg_match($pattern, $str, $match);
print_r($match);
//匹配郵件
$str = '12345@qq.com';
$pattern = "/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/i";
preg_match($pattern, $str, $match);
print_r($match);
//匹配11位手機號:
$str = '13299803211';
$pattern = "/^1(3|5|8)\d{9}$/";
preg_match($pattern, $str, $match);
print_r($match);
//匹配139開頭的11位手機號碼
$str = '13912345678';
$pattern = '/^139\d{8}$/';
preg_match($pattern,$str,$match);
print_r($match);
//UTF-8編碼下提取字符串中的中文:
$str = 'hello 中文 byebye';
$pattern = '/[\x{4e00}-\x{9fa5}]+/u';
preg_match($pattern, $str, $match);
print_r($match); //“中文”
//替換字符串中的中文為空
$res = preg_replace($pattern,'',$str);
echo $res.’';
//分割中文字符串為等長度元素的數(shù)組(英文可以用str_split,但中文會亂碼)
$str = '中文字符串';
$res = preg_split('/(?<!^)(?!$)/u', $str);
print_r($res);
//過濾網(wǎng)頁上的所有script標記
$str = '<script type="text/javascript" src="dd.js">alert(123);</script><p style="color: red">測試php正則匹配掉js代碼</p>';
$pattern = "/<script[\s\S]*?<\/script>/i"; //過濾JS標簽
$pattern = "/<[\/\!]*?[^<>]*?>/si"; //過濾HTML標簽
$res = preg_replace($pattern, "", $str);
echo $res.’';
//替換<b>標簽為空
$str = '<b>abc</b><b>abc</b>';
$pattern = '/<b>(.*?)<\/b>/';
$res = preg_replace($pattern,'\\1',$str);
echo $res.'';