gpt4 book ai didi

php - PHP 中的正则表达式二进制模式搜索

转载 作者:可可西里 更新时间:2023-11-01 13:13:01 26 4
gpt4 key购买 nike

我正在尝试查找和替换字符串中的二进制值:

$str = '('.chr(0x00).chr(0x91).')' ;
$str = preg_replace("/\x00\x09/",'-',$str) ;

但我收到“警告:preg_replace():正则表达式中的空字节”错误消息。

如何在 Regex/PHP 中处理二进制值?

最佳答案

这是因为您在正则表达式模式周围使用了双引号 ",这使得 php 引擎解析字符 \x00\x09.

如果您改用单引号,它将起作用:

$str = '(' . chr(0x00) . chr(0x91) . ')' ;
$str = preg_replace('/\x00\x09/', '-', $str) ;

但是如果我正确理解您的问题,您的正则表达式似乎也不正确。如果要用破折号 - 替换字符 \x00\x91,必须将它们放在方括号 []:

$str = preg_replace('/[\x00\x91]/', '-', $str) ;

关于php - PHP 中的正则表达式二进制模式搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39602815/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com