好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php preg_replace函数基础与实例代码 - php函数

php preg_replace函数基础与实例代码

preg_replace(mixed $pattern,mixed $replacement,mixed $subject [, int $limit = -1 [, int &$count ]])主题为匹配搜索模式,替换要搜索的模式,它可以是一个字符串或一个字符串数组.

电子修饰符使preg_replace函数()替代后,适当引用作为参数是php代码进行替换,提示:请确保置换构成一个有效的php代码字符串,否则php将在包含preg_replace函数线()解析错误.

返回值: preg_replace函数()返回一个数组,如果这个问题的参数是一个数组或一个字符串,否则,如果找到匹配,新问题会产生,否则将返回主题不变或null如果发生错误.

实例一,代码如下:

$string  =  'april 15, 2003' ;  $pattern  =  '/(w+) (d+), (d+)/i' ;  $replacement  =  '${1}1,$3' ;  echo  preg_replace( $pattern ,  $replacement ,  $string ); 

实例二,代码如下:

$string  =  'the quick brown fox jumped over the lazy dog.' ;  $patterns  =  array ();  $patterns [0] =  '/quick/' ;  $patterns [1] =  '/brown/' ;  $patterns [2] =  '/fox/' ;  $replacements  =  array ();  $replacements [2] =  'bear' ;  $replacements [1] =  'black' ;  $replacements [0] =  'slow' ;  echo  preg_replace( $patterns ,  $replacements ,  $string );  

通过ksorting模式和替代,我们应该得到我们想要的,代码如下:

ksort( $patterns );  ksort( $replacements );  echo  preg_replace( $patterns ,  $replacements ,  $string );  

更换几个值,代码如下:

$patterns  =  array  ( '/(19|20)(d{2})-(d{1,2})-(d{1,2})/' ,                      '/^s*{(w+)}s*=/' );  $replace  =  array  ( '//' ,  '$ =' );  echo  preg_replace( $patterns ,  $replace ,  '{startdate} = 1999-5-27' );  

过滤所有html标签,代码如下:

preg_replace( "/(</?)(w+)([^>]*>)/e" ,                 "'\1'.strtoupper('\2').'\3'" ,                 $html_body ); 

过滤所有script,代码如下:

$user_agent  =  "mozilla/4.0 (compatible; msie 5.01; windows nt 5.0)" ;    $ch  = curl_init();     // initialize curl handle    curl_setopt( $ch , curlopt_url,  $url );  // set url to post to    curl_setopt( $ch , curlopt_failonerror, 1);               // fail on errors    curl_setopt( $ch , curlopt_followlocation, 1);     // allow redirects    curl_setopt( $ch , curlopt_returntransfer,1);  // return into a variable    curl_setopt( $ch , curlopt_port, 80);             //set the port number    curl_setopt( $ch , curlopt_timeout, 15);  // times out after 15s     curl_setopt( $ch , curlopt_useragent,  $user_agent );    $document  = curl_exec( $ch );    $search  =  array ( '@<script[^>]*?>.*?</script>@si' ,   // strip out javascript教程 HdhCmsTest111cn.net   '@<style[^>]*?>.*?</style>@siu' ,     // strip style tags properly    '@<[/!]*?[^<>]*?>@si' ,             // strip out html tags    '@<![ss]*?–[ ]*>@' ,          // strip multi-line comments including cdata    '/s{2,}/' ,    );    $text  = preg_replace( $search ,  " " , html_entity_decode( $document ));    $pat [0] =  "/^s+/" ;   $pat [2] =  "/s+$/" ;   $rep [0] =  "" ;   $rep [2] =  " " ;    $text  = preg_replace( $pat ,  $rep , trim( $text ));  //开源代码phpfensi测试数据   return   $text ;   } 

此函数接受一个url并返回页面的纯文本版本,它使用curl来检索网页,一个正则表达式的组合,以去除所有不必要的空白,这个功能甚至剥夺了从形式和script标记,这是由php函数忽略,如用strip_tags,他们地带唯一的标记文本,留下完整的文字在中间.

正则表达式被分为两个阶段,以避免删除单,也由 s的匹配,回车,但仍然删除所有空白行和多个换行符或空格,修整手术进行了2个阶段进行.

查看更多关于php preg_replace函数基础与实例代码 - php函数的详细内容...

  阅读:50次