gpt4 book ai didi

PHP 匹配控制字符但不匹配空格?

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

使用 POSIX 字符类

如何匹配[:cntrl:]但不包含[:space:]?

$message =  ereg_replace("[[:cntrl:]]", "", $message);

最佳答案

ereg_* (POSIX) 函数已经弃用很长时间了。您不应继续使用这些方法。

根据 POSIX Bracket Expressions [:cntrl:] 解析为 ASCII 范围 [\x00-\x1F\x7F](或 unicode \p{Cc}) [:space:] 解析为 [\t\r\n\v\f]。使用asciitable.com要解析这些字符,您会得到一个排除列表 [\x20\x09-\x0D]。 “做数学题”你会得到 [\x00-\x08\x0E-\x1F\x7F]。这给您留下了以下 PHP 5.3 和向上兼容的清理:

$message = preg_replace('/[\x00-\x08\x0E-\x1F\x7F]+/', '', $message);

注意 VT(垂直标签)和 FF(换页,新页面)也被保留。根据您的情况,您可能还想删除这些:

$message = preg_replace('/[\x00-\x08\x0E-\x1F\x7F\x0A\x0C]+/', '', $message);

关于PHP 匹配控制字符但不匹配空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9545336/

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