热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phppreg_replace函数基础与实例代码

preg_replace(mixed$pattern,mixed$replacement,mixed$subject[,int$limit=-1[,int&$count]])主题为匹配搜索模式,替换要搜索的模式,它可以是一个字符串或一个字符串数组....
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
当前位置:首页 > PHP教程 > php函数 > 列表
php preg_replace函数基础与实例代码
发布: 来源:  添加日期:2014-09-20 09:33:59 浏览: 评论:0 

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

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

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

实例一,代码如下:

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

实例二,代码如下:

  1. $string = 'the quick brown fox jumped over the lazy dog.'
  2. $patterns = array(); 
  3. $patterns[0] = '/quick/'
  4. $patterns[1] = '/brown/'
  5. $patterns[2] = '/fox/'
  6. $replacements = array(); 
  7. $replacements[2] = 'bear'
  8. $replacements[1] = 'black'
  9. $replacements[0] = 'slow'
  10. echo preg_replace($patterns$replacements$string);  

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

  1. ksort($patterns); 
  2. ksort($replacements); 
  3. echo preg_replace($patterns$replacements$string);  

更换几个值,代码如下:

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

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

  1. preg_replace("/(]*>)/e",  
  2.              "'\1'.strtoupper('\2').'\3'",  
  3.              $html_body); 

过滤所有script,代码如下:

  1. $user_agent = "mozilla/4.0 (compatible; msie 5.01; windows nt 5.0)"
  2.  
  3. $ch = curl_init();    // initialize curl handle  
  4. curl_setopt($ch, curlopt_url, $url); // set url to post to  
  5. curl_setopt($ch, curlopt_failonerror, 1);              // fail on errors  
  6. curl_setopt($ch, curlopt_followlocation, 1);    // allow redirects  
  7. curl_setopt($ch, curlopt_returntransfer,1); // return into a variable  
  8. curl_setopt($ch, curlopt_port, 80);            //set the port number  
  9. curl_setopt($ch, curlopt_timeout, 15); // times out after 15s 
  10.  
  11. curl_setopt($ch, curlopt_useragent, $user_agent); 
  12.  
  13. $document = curl_exec($ch); 
  14.  
  15. $search = array('@@si',  // strip out Javascript教程 www.111cn.net 
  16. '@@siu',    // strip style tags properly  
  17. &#39;@<[/!]*?[^<>]*?>@si&#39;,            // strip out html tags  
  18. &#39;@@&#39;,         // strip multi-line comments including cdata  
  19. &#39;/s{2,}/&#39;
  20.  
  21. ); 
  22.  
  23. $text = preg_replace($search" ", html_entity_decode($document)); 
  24.  
  25. $pat[0] = "/^s+/";  
  26. $pat[2] = "/s+$/";  
  27. $rep[0] = "";  
  28. $rep[2] = " "
  29.  
  30. $text = preg_replace($pat$rep, trim($text)); 
  31. //开源代码phpfensi.com 
  32. return $text;  

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

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


推荐阅读
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • Docker基础入门与环境配置指南
    本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
  • egg实现登录鉴权(七):权限管理
    权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 使用 ModelAttribute 实现页面数据自动填充
    本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ... [详细]
  • 使用REM和媒体查询实现响应式布局
    本文介绍如何利用REM单位和媒体查询(Media Queries)来创建适应不同屏幕尺寸的网页布局。通过具体示例,展示在不同屏幕宽度下如何调整页面元素的样式。 ... [详细]
  • SPFA算法详解与应用
    当图中包含负权边时,传统的最短路径算法如Dijkstra不再适用,而Bellman-Ford算法虽然能解决问题,但其时间复杂度过高。SPFA算法作为一种改进的Bellman-Ford算法,能够在多数情况下提供更高效的解决方案。本文将详细介绍SPFA算法的原理、实现步骤及其应用场景。 ... [详细]
  • 本文详细介绍了如何在Windows和Linux系统上配置Openfire服务器,包括安装步骤、数据库配置及端口映射等关键环节。 ... [详细]
  • 本文详细对比了HashMap和HashTable在多线程环境下的安全性、对null值的支持、性能表现以及方法同步等方面的特点,帮助开发者根据具体需求选择合适的数据结构。 ... [详细]
  • 本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ... [详细]
  • 神策数据分析基础
    本文介绍了基于用户行为的数据分析方法,包括业务问题的提出与定义、具体行为的识别及统计分析流程。同时,详细阐述了如何利用事件模型(Event Model)来描述用户行为,以及在实际应用中的案例分析。 ... [详细]
  • 本文介绍了一个来自AIZU ONLINE JUDGE平台的问题,即清洁机器人2.0。该问题来源于某次编程竞赛,涉及复杂的算法逻辑与实现技巧。 ... [详细]
  • 本文介绍了用户界面(User Interface, UI)的基本概念,以及在iOS应用程序中UIView及其子类的重要性和使用方式。文章详细探讨了UIView如何作为用户交互的核心组件,以及它与其他UI控件和业务逻辑的关系。 ... [详细]
  • C/C++ 应用程序的安装与卸载解决方案
    本文介绍了如何使用Inno Setup来创建C/C++应用程序的安装程序,包括自动检测并安装所需的运行库,确保应用能够顺利安装和卸载。 ... [详细]
author-avatar
小葵小小葵_530
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有