這篇文章主要介紹了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
?123 $text = "foobar123fooabcbar"; $text = preg_replace("/(?<=bar)123/", "***", $text); //匹配bar後面的位置 foo***123fooabcbar
?123 $text = "foobar123fooabcbar"; $text = preg_replace("/foo(?!bar)/", "***", $text); //匹配後面跟的不是bar的位置 foobar123***abcbar
?123 $text = "foobar123fooabcbar"; $text = preg_replace("/(?<!foo)bar/", "***", $text); //匹配前面不是foo的位置 foobar123fooabc***
希望本文所述對大家的php程序設計有所幫助