0
点赞
收藏
分享

微信扫一扫

php替换括号里面某些字符串

棒锤_45f2 2022-07-12 阅读 60
public function testReplace() {
$post_xml_data='asdsa&(123123)';
// dd(preg_replace('/&(?!#?[a-z0-9]+;)/', '&', $post_xml_data));

$subject = 'asdsa&(123123)<Macro Name="XXX_EN_AUDIO_CODEC_TYPE" Value="(XXX_EN_AUDIO_FEATURE_XXX<<0|XXX_EN_AUDIO_FEATURE_XXX<<1|XXX_EN_AUDIO_FEATURE_XXX<<2|XXX_EN_AUDIO_FEATURE_XXX<<3 |XXX_EN_AUDIO_FEATURE_XXX<<4|XXX_EN_AUDIO_FEATURE_XXX<<5|XXX_EN_AUDIO_FEATURE_XXX<<6|XXX_EN_AUDIO_FEATURE_XXX<<7 |XXX_EN_AUDIO_FEATURE_XXX<<8|XXX_EN_AUDIO_FEATURE_XXX<<9|XXX_EN_AUDIO_FEATURE_XXX<<10|XXX_EN_AUDIO_FEATURE_XXX<<16 |XXX_EN_AUDIO_FEATURE_XXX<<17)"/>
<Macro Name="XXX_EN_AUDIO_EFFECT_ITEM" Value="0"/>
<Macro Name="XXX_EN_AUDIO_FEATURE_XXX" Value="1"/>';
$new = preg_replace_callback('/(\([^\)]*\))/', function($matches){
dump($matches);
return str_replace(['<','>'], ['<','>'], $matches[0]);
}, $subject);
dd($new);
}

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
);


举报

相关推荐

0 条评论