gpt4 book ai didi

php - 用于清理字符串的正则表达式

转载 作者:可可西里 更新时间:2023-11-01 00:04:18 25 4
gpt4 key购买 nike

这个 RegEx 用于清理来自搜索表单的用户输入

$query = preg_replace("/[^A-Za-z0-9 _.,*&-]/", ' ', $query);

我也需要添加斜杠作为有效字符,但如果我添加它,我会收到错误消息。我想我必须逃避它,但找不到如何做到这一点

$query = preg_replace("/[^A-Za-z0-9 _.,*&-/]/", ' ', $query); // doesn't works
$query = preg_replace("/[^A-Za-z0-9 _.,*&-//]/", ' ', $query); // doesn't works
$query = preg_replace("/[^A-Za-z0-9 _.,*&-\/]/", ' ', $query); // doesn't works

使用 php

最佳答案

您可以使用 / 以外的其他内容作为分隔符 - 尝试这样的操作:

$query = preg_replace("%[^A-Za-z0-9 _.,*&-/]%", ' ', $query);

Kobe 还发布了在这种情况下逃避的正确方法,但我发现当我将分隔符切换为我在表达式中未使用的内容(如果可能)时,正则表达式保持更具可读性。

编辑

可以在 http://www.php.net/manual/en/regexp.reference.delimiters.php 找到更多信息。 (在这里引用它:)

“使用 PCRE 函数时,要求模式由定界符括起来。定界符可以是任何非字母数字、非反斜杠、非空白字符。”

关于php - 用于清理字符串的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2244196/

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