限制替换次数的str_replace

<?php

$a = array(
    ‘陆金所‘,
    ‘有利网‘,
    ‘安捷财富‘
);

$b = array(
    ‘<a href="http://www.baidu1.com">陆金所</a>‘,
    ‘<a href="http://www.baidu2.com">有利网</a>‘,
    ‘<a href="http://www.baidu3.com">安捷财富</a>‘
);

$str = ‘有投友报料说,央视点名提示股市风险,并指出陆金所、有利网、安捷财富P2P网贷更安全。安捷财富是何方大神可以在安全上与陆金所齐名。‘;

echo str_replace_limit($a, $b, $str, 1);

// 限制替换次数的函数
function str_replace_limit($search, $replace, $subject, $limit=-1) {
    if (is_array($search)) {
        foreach ($search as $k=>$v) {
            $search[$k] = ‘`‘ . preg_quote($search[$k],‘`‘) . ‘`‘;
        }
    } else {
        $search = ‘`‘ . preg_quote($search,‘`‘) . ‘`‘;
    }
    return preg_replace($search, $replace, $subject, $limit);
}

?>
时间: 2024-10-10 09:22:46

限制替换次数的str_replace的相关文章

与Perl兼容的正则表达式函数

正则表达式不能独立使用,它只是一种用来定义字符串的规则模式,必须在相应的正则表达式函数中应用,才能实现对字符串的匹配.查找.替换及分割等操作.前面也介绍过在PHP中有两套正则表达式函数库,而使用与Perl兼容的正则表达式函数库的执行效率要略占优势,所以在本书中主要介绍以“preg_”开头的正则表达式函数.另外,在处理大量信息时,正则表达式函数会使速度大幅减慢,应当只在需要使用正则表达式解析比较复杂的字符串时才使用这些函数.如果要解析简单的表达式,还可以采用很多可以显著加快处理过程的预定义函数.下

Mysql怎样控制replace替换的次数?

我想把"ABC是ABC"替换成"123是ABC",也就是找出第一个ABC替换成123,MYSQL命令应该怎么写? UPDATE data SET body=REPLACE(body, 'ABC', '123');我用这个命令时会把所有ABC都替换成123,不知道怎么控制替换次数,请高人指教. hemu780924大哥的代码虽然能用,但是有个致命的缺陷, 比如"123是ABC",如果想找出XYZ并替换成OPQ,因为在"123是ABC&qu

PHP正则表达式替换站点关键字链接后空白的问题解决

标题这样不知道合适不合适.具体的情况是这样的:网站要增加关键字链接功能,然后需要对文章的内容进行正则表达式匹配并替换,然后使用了preg_replace函数.替换的程序代码如下: function ReplaceKeyword($linkDefs,$content){ $linkMap = array(); /*foreach($linkDefs as $row) { $linkMap[] = explode(',', $row); }*/ $linkMap = $linkDefs; //把原有

PHP preg_replace() 正则替换所有符合条件的字符串

PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素 需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的. 比如模版引擎解析模版.垃圾敏感信息过滤等等. 一般这种情况,我们用正则按我们的规则去匹配preg_match.替换preg_replace. 但一般的应用中,无非是些数据库CRUD,正则摆弄的机会很少. 根据前面说的,两种场景:统计分析,用匹配:

php_中替换换行符

//php 有三种方法来解决 //1.使用str_replace 来替换换行 $str = str_replace(array("\r\n", "\r", "\n"), "", $str); //2.使用正则替换 $str = preg_replace('//s*/', '', $str); //3.使用php定义好的变量 (建议使用) $str = str_replace(PHP_EOL, '', $str); // 转为前

php正则替换函数-----preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &amp;$count ]] )

preg_replace - 执行一个正则表达式的搜索和替换 说明 mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) 搜索subject中匹配pattern的部分, 以replacement进行替换. 参数 pattern 要搜索的模式.可以使一个字符串或字符串数组. 可以使用一些PCRE修饰符. replacement

php中替换函数主要用的几个函数strtr(),str_repalce()。

php中替换函数主要有strtr(),str_repalce()这两个函数,今天介绍下他们的区别和用法, 先来看看这个php字符串替换函数 strtr()的两种用法: strtr(string,from,to) 或者strtr(string,array) 首先针对strtr函数第一种方式: 我们看看下面的举例: <?phpecho strtr("I Love you","Lo","lO");?> 得到的结果是: I lOve yOu

php替换字符串函数strtr()和str_repalce()区别

php中替换函数主要有strtr(),str_repalce()这两个函数,但你们都知道他们这两个函数的区别和用法吗? 先来看看这个php字符串替换函数 strtr()的两种用法: strtr(string,from,to) 或者strtr(string,array) 首先针对strtr函数第一种方式: 我们看看下面的举例: <?phpecho strtr("I Love you","Lo","lO");?> 得到的结果是: I lO

PHP函数preg_replace() 正则替换所有符合条件的字符串

PHP preg_replace() 正则替换,与JavaScript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹配条件的元素. preg_replace (正则表达式, 替换成, 字符串, 最大替换次数[默认-1,无数次], 替换次数) 大部分语言的正则表达式都是差不多的,不过也有细微的差异. PHP 正则表达式 正则字符 正则解释 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个向后引用.或一个八进制转义符.例如,“\n”匹配字符“n”.“\\n”匹