PHP函数preg_replace()原型:mixed preg_replace (mixed $pattern, mixed $replacement, mixed $subject [, int $limit])
PHP函数preg_replace()较c的功能更加强大。其前三个参数均可以使用数组;第四个参数$limit可以设置替换的次数,默认为全部替换。代码6.7是一个数组替换的应用实例。
PHP函数preg_replace()代码6.7 数组替换
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><</span><span> ?php </span></span></li><li><span>//字符串 </span></li><li class="alt"><span>$</span><span class="attribute">string</span><span> = </span><span class="attribute-value">"Name: {Name}< br>nEmail: <br>{Email}< br>nAddress: {Address}< br>n"</span><span>; </span></span></li> <li><span>//模式 </span></li> <li class="alt"> <span>$</span><span class="attribute">patterns</span><span> =</span><span class="attribute-value">array</span><span>( </span> </li> <li><span>"/{Address}/", </span></li> <li class="alt"><span>"/{Name}/", </span></li> <li><span>"/{Email}/" </span></li> <li class="alt"><span>); </span></li> <li><span>//替换字串 </span></li> <li class="alt"> <span>$</span><span class="attribute">replacements</span><span> = </span><span class="attribute-value">array</span><span> ( </span> </li> <li><span>"No.5, Wilson St., New York, U.S.A", </span></li> <li class="alt"><span>"Thomas Ching", </span></li> <li><span>"tom@emailaddress.com", </span></li> <li class="alt"><span>); </span></li> <li><span>//输出模式替换结果 </span></li> <li class="alt"><span>print preg_replace($patterns, <br>$replacements, $string); </span></li> <li> <span class="tag">?></span><span> </span> </li> </ol>
输出结果如下。
Name: Thomas Ching",
Email: tom@emailaddress.com
Address: No.5, Wilson St., New York, U.S.A
在preg_replace的正则表达式中可以使用模式修正符“e”。其作用是将匹配结果用作表达式,并且可以进行重新运算。例如:
<ol class="dp-xml"> <li class="alt"><span><span class="tag"><</span><span> ?php </span></span></li><li><span>$</span><span class="attribute">html_body</span><span> = </span></li><li><span>“</span><span class="tag"><</span><span> </span><span class="tag-name">HTML</span><span class="tag">></span></span></li> <li><span class="tag"><</span><span> </span><span class="tag-name">Body</span><span class="tag">></span></li> <li> <span class="tag"><</span><span> </span><span class="tag-name">H1</span><span class="tag">></span><span>TEST</span><span class="tag"><</span><span> /H1</span><span class="tag">></span> </li> <li> <span>My Picture</span><span class="tag"><</span><span class="tag-name">Img</span><span> </span><span class="attribute">src</span><span>=”my.gif”</span><span class="tag">></span> </li> <li><span class="tag"><</span><span> /Body</span><span class="tag">></span></li> <li> <span class="tag"><</span><span> /HTML</span><span class="tag">></span><span>”; </span> </li> <li class="alt"><span>//输出结果中HTML标签将全部为小写字母 </span></li> <li><span>echo preg_replace ( </span></li> <li class="alt"> <span>"/(</span><span class="tag"><</span><span> /?)(w+)([^</span><span class="tag">></span><span>]*</span><span class="tag">></span><span>)/e", </span> </li> <li><span>"'\1'.strtolower('\2').'\3'", //此处的模式变量 <br>\2将被strtolower转换为小写字符 </span></li> <li class="alt"><span>$html_body); </span></li> <li> <span class="tag">?></span><span> </span> </li> </ol>
以上就是PHP函数preg_replace()的具体使用方法介绍,希望对大家有所帮助。