gpt4 book ai didi

php - 删除 PHP 字符串中的所有不匹配字符?

转载 作者:IT王子 更新时间:2023-10-29 00:11:55 25 4
gpt4 key购买 nike

我有一段文本,我想从中删除所有不属于以下内容的字符。

所需字符 =

0123456789!&',-./abcdefghijklmnopqrstuvwxyz\n

最后一个是我想要保留的\n(换行符)。

最佳答案

要匹配除列出的字符之外的所有字符,请使用 inverted character set [^…] :

$chars = "0123456789!&',-./abcdefghijklmnopqrstuvwxyz\n";
$pattern = "/[^".preg_quote($chars, "/")."]/";

这里preg_quote用于对某些特殊字符进行转义,使其被解释为文字字符。

您还可以使用字符范围来表示列出的字符:

$pattern = "/[^0-9!&',-.\\/a-z\n]/";

在这种情况下,,-. 中的文字 - 是否转义并不重要。因为 ,-. 被解释为从 , (0x2C) 到 . (0x2E) 已经包含 - (0x2D) 之间。

然后你可以删除那些与 preg_replace 匹配的字符:

$output = preg_replace($pattern, "", $str);

关于php - 删除 PHP 字符串中的所有不匹配字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3849359/

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