语法: mixed preg_replace(mixed pattern, mixed replacement, mixed subject);
返回值: 混合类型资料,函数种类: 资料处理
内容说明: 本函数以 pattern 的规则来解析比对字符串 subject,欲取而代之的字符串为参数replacement。返回值为混合类型资料,为取代后的字符串结果。
一,preg_replace():
$msg = preg_replace("/<style>.+</style>/is", "", $msg);//删除<style></style>和中间的部
$msg = preg_replace("/<[^>]+>/", "", $msg); //删除<>和中间的内容
i (PCRE_CASELESS):如果设定此修正符,模式中的字符将同时匹配大小写字母。
s (PCRE_DOTALL):如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符。没有此设定的话,则不包括换行符。这和 Perl 的 /s 修正符是等效的。排除字符类例如 [^a] 总是匹配换行符的,无论是否设定了此修正符。
二,ereg()与eregi()
注:preg_match() 函数通常是比 ereg() 更快的替代方案
eregi("<body([^>]+)>(.+)</body>",$data,$b)//察看$data中是否有body标签,如果有,把参数赋值$b[0],中间部分赋值$b[1]。
bool ereg ( string pattern, string string [, array regs] )
int eregi ( string pattern, string string, array [regs] )
eregi()和 ereg() 类似,用法也相同,不同之处在于ereg()有区分大小写,eregi()与大小写无关
- <?php
-
-
-
- $str = "daoyu shi ge hao hai zi 5555";
- $pattern = "/s/";
- $str = preg_replace($pattern,'-',$str);
- echo $str."<br>";
-
-
- $pat = "/(w+)-(w+)-(w+)-(w+)-(w+)-(w+)-(d+)/i";
- $str =preg_replace($pat,"$1",$str);
- echo $str."<br>";
-
- $pat = "/((w+)-){6}(d+)/i";
- $str =preg_replace($pat,"$1",$str);
- echo $str."<br>";
-
- $str = "daoyu-shi-ge-hao-hai-zi-5555";
- $pat = "/(w+)-(w+)-(w+)-(w+)-(w+)-(w+)-(d+)/i";
- $str =preg_replace($pat,"1",$str);
- echo $str."<br>";
-
- ?>
|