PHP正则mb_ereg_replace替换匹配的第几个部分内容

寻技术 PHP编程 / React 2023年07月08日 124

利用PHP正则表达式mb_ereg_replace替换匹配到的内容,\\0或\\1替换指定的第几个部分内容,以下是示例的代码:

<?php
//正则表达式替换相应字符串的用法
$url = "这是要搜索的九品源码和百度链接网址:http://www.baidu.com/和http://www.19jp.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 />";

关闭

用微信“扫一扫”