加入收藏 | 设为首页 | 会员中心 | 我要投稿 信阳站长网 (https://www.0376zz.com.cn/)- 基础存储、混合云网络、云安全、数据仓库、大数据!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php preg_replace函数基础与实例代码

发布时间:2022-06-16 09:44:53 所属栏目:PHP教程 来源:互联网
导读:preg_replace(mixed $pattern,mixed $replacement,mixed $subject [, int $limit = -1 [, int $count ]])主题为匹配搜索模式,替换要搜索的模式,它可以是一个字符串或一个字符串数组. 电子修饰符使preg_replace函数()替代后,适当引用作为参数是php代码进行替
  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教程 www.111cn.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.com
  return $text;  
  }
  此函数接受一个url并返回页面的纯文本版本,它使用curl来检索网页,一个正则表达式的组合,以去除所有不必要的空白,这个功能甚至剥夺了从形式和script标记,这是由php函数忽略,如用strip_tags,他们地带唯一的标记文本,留下完整的文字在中间.
 
  正则表达式被分为两个阶段,以避免删除单,也由 s的匹配,回车,但仍然删除所有空白行和多个换行符或空格,修整手术进行了2个阶段进行

(编辑:信阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读