php preg_replace_callback()笔记

Perform a regular expression search and replace using a callback

<?php
function preg_replace_callback(
    array|string $pattern,
    callable $callback,
    array|string $subject,
    int $limit = -1,
    &$count,
    int $flags = 0
): array|string|null { }
@param string|string[] $pattern

@param callable $callback

@param string|string[] $subject

说明

$callback()接受一个参数$matches

$matches[0]是$subject中符合$pattern匹配的部分

$matched[1]是$pattern中第1个捕获的部分

...

$matched[k]是$pattern中第k个捕获的部分


实际使用

$aa = perg_replace_callback('~&#([0-9]+);~', function($matches){
    return chr($matches[1]);
}, 'It&#39;s');

echo $aa; # "It's"
  1. chr用于将数字转换为ASCII码
  2. '~'用于界定正则表达式
  3. &#[0-9]+;用来匹配带有数字的html实体编码,将其中的数字捕获以后,可以转换为对应的ASCII码,恢复成人类能看懂的字符
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值