----- 019-regex_replace.php -----

 <!DOCTYPE html>
 <html>
 <head>
     <meta http-equiv="content-type" content="text/html; charset=utf-8">
     <title>Regex-Replace</title>
 </head>
 <body>
 <h1>Regex-Replace</h1>
 <pre style="font-family:微软雅黑; font-size:13pt">
 <?php
     $str = "喜羊羊灰太狼懒羊羊红太狼";
     echo '替换字符串 "<b>喜羊羊灰太狼懒羊羊红太狼</b>"', "\n\n";

     $result = preg_replace("/...羊羊/", " 樱桃小丸子 ", $str);
     echo "羊->丸子:", $result, "\n";

     $result = preg_replace("/...羊羊/", " 樱桃小丸子 ", $str, 1);
     echo "羊->丸子 一次:", $result, "\n";

     $result = preg_replace(array("/.{3}羊羊/", "/.{6}狼/"), array("羊", "狼"), $str);
     echo "羊与狼:", $result, "\n";

     $result = preg_replace_callback("/.../", "translate", $str, 11);
     echo "翻译前11个字符:", $result, "\n";

     $str = "熊大熊二";
     echo "<b>\n切割字符串</b>\n";
     $result = preg_split("/熊/", $str);
     echo "熊切割后:\n";
     var_export($result);
     $result = preg_split("/熊/", $str, -1, PREG_SPLIT_NO_EMPTY);
     echo "\n熊切割后忽略空白:\n";
     var_export($result);

     echo "<b>\n\n获取正则表达式</b>\n";
     $str = "<img src= >!!!";
     echo "获取正则表达式";
     echo "忽略大小写:", @sql_regcase($str), "\n";
     $str = "<img src= >!!";
     echo "转义&lt;img src= &gt;!!  ", preg_quote('<img src= >!!'), "\n";
     echo "转义>img src= >!!  ", preg_quote(">img src= >!!"), "\n";
 ?>
 <?php
     function translate($src)
     {
         $maps = array("喜"=>"Happy", "羊"=>"Sheep", "灰"=>"Gray", "太"=>"Too", "狼"=>"Wolf", "懒"=>"Lazy", "红"=>"Red");
         return $maps[$src[0]]." ";
     }
 ?>
 </pre>
 </body>
 </html>

php -- 正则替换的更多相关文章

  1. PHP模板引擎正则替换函数 preg_replace 与 preg_replace_callback 使用总结

    在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换). 详情介绍参考博文:P ...

  2. php中的正则函数主要有三个-正则匹配,正则替换

    php中变量的声明? 由于php声明变量的时候, 不支持使用 var关键字, 又不能直接写一个变量名字, 孤零零的放在那里, 所以, 在php中声明变量的方式, 同时也是给变量初始化的形式, 即: & ...

  3. PHP函数preg_replace() 正则替换所有符合条件的字符串

    PHP preg_replace() 正则替换,与JavaScript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素. preg_replace (正则表达式 ...

  4. PHP preg_replace() 正则替换所有符合条件的字符串示例

    PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素.  需要用程序处理的数据并不总是预先以数 ...

  5. 缓存需要注意的问题以及使用.net正则替换字符串的方法

    参考资料:http://www.infoq.com/cn/news/2015/09/cache-problems 正则替换字符串的简单方法: var regTableType = new Regex( ...

  6. Fiddler AutoResponder正则替换

    今天感冒,写简单些. Fiddler AutoResponder正则替换: regex:(?inx).+20150826_1_1_386.mp4/playlist.m3u8.*$ .表示任意字符 *: ...

  7. Regex 正则替换指定范围全部字符串

    1.正则替换字符-------------------------------------------------------------------------------------------- ...

  8. 正则替换replace中$1的用法以及常用正则

    一.repalce定义 用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串. stringObject.replace(regexp/substr,replacement)参数一 ...

  9. 使用正则替换script及其内容

    因做微信公众号文章保存,发现他的js大多数也用不着,所以就想着用正则替换掉源代码中的js片段 正则代码: <script(?:[^<]++|<(?!/script>))*+&l ...

  10. 【python】正则替换

    正则替换可以使用函数 例如:替换字符串中所有#1.2.3.4#格式中的数字为0 import re def replace(x): def _replace(matched): m = matched ...

随机推荐

  1. CMake和静态库顺序

    目录 目录 1 前言 1 方法 1 附1:链接静态库的顺序问题 2 附2:再议GCC编译时的静态库依赖次顺问题 3 附3:gcc链接参数--whole-archive的作用 4 附4:让有些“-l”链 ...

  2. picker

    滚动选择器,现支持三种选择器,通过mode来区分,分别是普通选择器,时间选择器,日期选择器,默认是普通选择器. 普通选择器:mode = selector 属性名 类型 默认值 说明 range Ar ...

  3. Warning the user/local/mysql/data directory is not owned by the mysql user

    sudo chown -RL root:mysql /usr/local/mysql sudo chown -RL mysql:mysql /usr/local/mysql/data sudo /us ...

  4. android 线程中断的处理

    android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@4 ...

  5. Ubuntu12.04 root用户登录设置

    ubuntu12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录.以普通身份登录Ubuntu后我们需要做一些修改. 1.普通用户登录后,修改系统配置文件需要切换到超级用户模式,在 ...

  6. CSS 基础 例子 display属性:block、inline和inline-block的区别

    HTML中块级元素(block)和行级元素(inline):比如div就是常见的块级元素,span就是常见的行级元素. 可以通过css的display属性来设置一个元素到底是块级,还是行级元素:dis ...

  7. [mysql语句] mysql 语句收集

    // http://stackoverflow.com/questions/6666152/mysql-order-by-where 1. "select * from t_activity ...

  8. maven-java包管理工具-01

    maven只用来管理java项目,也是用java开发的 传统的项目因为包的管理有很多问题,所以才有的maven的诞生: 1. 项目开始的时候,确定项目中可能要使用到的包,然后下载包,复制粘贴到项目里面 ...

  9. .NET Core下开源任务调度框架Hangfire的Api任务拓展(支持秒级任务)

    HangFire的拓展和使用 看了很多博客,小白第一次写博客. 最近由于之前的任务调度框架总出现问题,因此想寻找一个替代品,之前使用的是Quartz.Net,这个框架方便之处就是支持cron表达式适合 ...

  10. WPF异常捕获三种处理 UI线程, 全局异常,Task异常

    protected override void OnStartup(StartupEventArgs e){base.OnStartup(e);RegisterEvents();} private v ...