这篇文章主要介绍了php正则替换变量指定字符的方法,涉及php使用正则表达式进行字符串替换的技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了php正则替换变量指定字符的方法。分享给大家供大家参考。具体如下:
这里介绍三种常用方法.
方法一:
- <?php
- $str = preg_quote('(银子)');
- $txt = '我的呢称(银子)';
- echo preg_replace("/($str)/","<span style='color:#f00;'>$1</span>",$txt);
- ?>
方法二:
- <?php
- $str = quotemeta('(银子)');
- $txt = '我的呢称(银子)';
- echo preg_replace("/($str)/","<span style='color:#f00;'>$1</span>",$txt);
- ?>
方法三:
- <?php
- $str = '(银子)';
- $txt = '我的呢称(银子)';
- echo preg_replace("/(Q$strE)/","<span style='color:#f00;'>$1</span>",$txt);
- ?>
三种方法都返回同样结果.. PHP中的Perl风格正则与Perl完全一样.连quotemeta也是通用的..
一些其它关于正则的实例
例子:
- $text = "foobar123fooabcbar";
- $text = preg_replace("/foo(?=bar)/", "***", $text);
- //匹配bar前面的位置 ***bar123fooabcbar
- $text = "foobar123fooabcbar";
- $text = preg_replace("/(?<=bar)123/", "***", $text);
- //匹配bar后面的位置 foo***123fooabcbar
- $text = "foobar123fooabcbar";
- $text = preg_replace("/foo(?!bar)/", "***", $text);
- //匹配后面跟的不是bar的位置 foobar123***abcbar
- $text = "foobar123fooabcbar";
- $text = preg_replace("/(?<!foo)bar/", "***", $text);
- //匹配前面不是foo的位置 foobar123fooabc***
希望本文所述对大家的php程序设计有所帮助。
新闻热点
疑难解答