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程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。