利用PHP正则表达式mb_ereg_replace替换匹配到的内容,\\0或\\1替换指定的第几个部分内容,以下是示例的代码:
<?php
//正则表达式替换相应字符串的用法
$url = "这是要搜索的毛票票和百度链接网址:http://www.baidu.com/和http://www.maopiaopiao.com/"; //内容
$rule = "(http://)([a-zA-z0-9./-]+)"; //正则表达式 ,()内表示子串
$replace = "<a href=\"\\0\"><font color='blue'>\\0</font></a>"; //正则表达式,\0表示全部匹配部分
$replace01 = "<a href=\"\\0\"><font color='blue'>\\1</font></a>"; //正则表达式,\1表示匹配的第一部分
$replace02 = "<a href=\"\\0\">\\2</a>"; //正则表达式,\2表示匹配的第二部分
echo "原始字符串:".$url; //输出原始字符串
echo "<br />";
echo "全部匹配部分:".mb_ereg_replace($rule,$replace,$url);
echo "<br />";
echo "匹配的第1部分:".mb_ereg_replace($rule,$replace01,$url);
echo "<br />";
echo "匹配的底2部分:".mb_ereg_replace($rule,$replace02,$url);
echo "<br />";
echo "<br />";
echo "<hr />";
$url = "#数##组##中##指##定##一##列##求##和##用##什##么#"; //内容
$rule= '(#)(.{1})(#)'; //正则表达式 ,()内表示子串
$replace = "<font color='red'>\\0</font>"; //正则表达式,\0表示全部匹配部分
$replace01 = "<font color='red'>\\1</font>"; //正则表达式,\1表示匹配的第一部分
$replace02 = "<font color='red'>\\2</font>"; //正则表达式,\2表示匹配的第二部分
$replace03 = "<font color='red'>\\3</font>"; //正则表达式,\3表示匹配的第三部分
echo "原始字符串:".$url; //输出原始字符串
echo "<br />";
echo "全部匹配部分:".mb_ereg_replace($rule,$replace,$url);
echo "<br />";
echo "匹配的第1部分:".mb_ereg_replace($rule,$replace01,$url);
echo "<br />";
echo "匹配的底2部分:".mb_ereg_replace($rule,$replace02,$url);
echo "<br />";
echo "匹配的底3部分:".mb_ereg_replace($rule,$replace03,$url);
echo "<br />";