php有哪些则替换函数

发布时间:2021-06-03 17:42:05 作者:Leah
来源:亿速云 阅读:209

这期内容当中小编将会给大家带来有关php有哪些则替换函数,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。


php正则替换函数

1、preg_replace()函数

preg_replace 函数执行一个正则表达式的搜索和替换。

语法

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

搜索 subject 中匹配 pattern 的部分, 以 replacement 进行替换。

参数说明:

返回值

示例:

<?php
$string = 'google 123, 456';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = 'php ${2},$3';
echo preg_replace($pattern, $replacement, $string);
?>

输出:

php 123,456

2、preg_filter()函数

preg_filter 函数用于执行一个正则表达式搜索和替换。

语法

mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

preg_filter() 等价于 preg_replace() ,但它仅仅返回与目标匹配的结果。

示例:比较preg_filter() 和preg_replace()

<?php$subject = array('1', 'a', '2', 'b', '3', 'A', 'B', '4'); 
$pattern = array('/\d/', '/[a-z]/', '/[1a]/'); 
$replace = array('A:$0', 'B:$0', 'C:$0'); 
 
echo "preg_filter 返回值:\n";print_r(preg_filter($pattern, $replace, $subject)); 
 
echo "preg_replace 返回值:\n";print_r(preg_replace($pattern, $replace, $subject)); 
?>

输出:

preg_filter 返回值:
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [7] => A:4
)
preg_replace 返回值:
Array
(
    [0] => A:C:1
    [1] => B:C:a
    [2] => A:2
    [3] => B:b
    [4] => A:3
    [5] => A
    [6] => B
    [7] => A:4
)

可以看出 preg_filter 只返回匹配结果,不匹配的直接忽略,而 preg_replace 将不匹配的结果 'A' 'B' 元素也一起返回。

3、preg_replace_callback()函数

preg_replace_callback 函数执行一个正则表达式搜索并且使用一个回调进行替换。

语法

mixed preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )

这个函数的行为除了可以指定一个 callback 替代 replacement 进行替换字符串的计算,其他方面等同于 preg_replace()。

参数说明:

返回值

示例:

<?php
header("Content-type: text/html; charset=utf-8");
// 将文本中的年份增加一年.
$text = "愚人节是 04/01/2020<br>";
$text.= "去年元旦是 12/24/2019<br>";
// 回调函数
function next_year($matches)
{
  // 通常: $matches[0]是完成的匹配
  // $matches[1]是第一个捕获子组的匹配
  // 以此类推
  return $matches[1].($matches[2]+1);
}
echo preg_replace_callback(
            "|(\d{2}/\d{2}/)(\d{4})|",
            "next_year",
            $text);
 
?>

输出:

愚人节是 04/01/2021
去年元旦是 12/24/2020

4、preg_replace_callback_array()函数

preg_replace_callback_array 函数执行一个正则表达式搜索并且使用一个回调进行替换。

语法

mixed preg_replace_callback_array ( array $patterns_and_callbacks , mixed $subject [, int $limit = -1 [, int &$count ]] )

函数类似于 preg_replace_callback(), 但它是基于每个模式匹配来回调函数进行替换。

参数说明:

返回值

示例:

<?php
$subject = 'Aaaaaa Bbb';
 
preg_replace_callback_array(
    [
        '~[a]+~i' => function ($match) {
            echo strlen($match[0]), ' matches for "a" found', PHP_EOL;
        },
        '~[b]+~i' => function ($match) {
            echo strlen($match[0]), ' matches for "b" found', PHP_EOL;
        }
    ],
    $subject
);
?>

输出:

6 matches for "a" found
3 matches for "b" found

上述就是小编为大家分享的php有哪些则替换函数了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. PHP7 openssl函数如何替换mcrypt函数加密解密
  2. php中的字符串替换函数有哪些?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

php

上一篇:Laravel怎么生成url模式

下一篇:html文字如何换行

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》