php中preg_replace_callback函数简单用法示例

yipeiwu_com4年前PHP代码库

本文实例讲述了php中preg_replace_callback函数用法。分享给大家供大家参考,具体如下:

mixed preg_replace_callback ( mixed pattern, callback callback, mixed subject [, int limit] )

本函数的行为几乎和 preg_replace() 一样,除了不是提供一个 replacement 参数,而是指定一个 callback 函数。该函数将以目标字符串中的匹配数组作为输入参数,并返回用于替换的字符串。

例如问题:

preg_replace($skx,$imsz2,$neirong);

如:$neirong中有多个$skx 我需要每次替换都能得到一个不同的ID

示例:

<?php
$str='this is a test for this string includes many this';
$replace='/this/x';
$result=preg_replace_callback(
  $replace,
  function($ms){
   static $i;
   $i=$i+1;
   return "that($i)";
  },
  $str
 );
echo $result,"/n";

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《PHP编码与转码操作技巧汇总》、《php面向对象程序设计入门教程》、《PHP数学运算技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》及《php常见数据库操作技巧汇总

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP中for循环与foreach的区别

for循环与foreach的区别 foreach 依赖 IEnumerable. 第一次 var a in GetList() 时调用 GetEnumerator 返回第一个对象并赋给a...

PHP中CURL的CURLOPT_POSTFIELDS参数使用细节

在通常情况下,我们使用 CURL 来提交 POST 数据的时候,我们已经习惯了这样的写法:复制代码 代码如下:curl_setopt( $ch, CURLOPT_POSTFIELDS,$...

编译php 5.2.14+fpm+memcached(具体操作详解)

#author:zhxia 给php打上php-fpm 补丁sudo tar jxvf php-5.2.14.tar.bz2sudo patch -d php-5.2.14 -p1 &l...

php封装db类连接sqlite3数据库的方法实例

前言 SQLite3扩展名在PHP 5.3.0+以上都会默认启用。可以在编译时使用--without-sqlite3来禁用它。 Windows用户可通过启用php_sqlite3.dll...

php判断目录存在的简单方法

PHP判断文件或目录是否存在 file_exists:判断文件是否存在 $file = "check.txt"; if(file_exists($file)) { echo...