gpt4 book ai didi

php - 奇怪的正则表达式行为解析特殊字符

转载 作者:行者123 更新时间:2023-12-04 05:42:38 24 4
gpt4 key购买 nike

我有一个 php 脚本验证,用于查找一些特殊字符并删除它们。该脚本工作正常,但如果我在两个 $ 之间放入任何内容,它也会被删除。所以如果放入
Supercool$$$$%%email%%@%SP***AM.com; => Supercoolemail@SPAM.com
但如果我输入
Supercool$$email$$%%@%SP**AM.com => Supercool@SPAM.com
每当我在 $ 之间放置常规字符时,它们也会被删除。这是我用来检查输入的电子邮件中的特殊字符的 PHP 脚本:

<?php

$bademail = "MAXCOOL$$ES$$%%T%%@%SP***AM.com";

function specialcharsreg ($email){
$regex = "/[*?$!%$&#]/";
$validemail = preg_replace($regex, "", $email);
echo "\n=====================================\n".$email." -> ".$validemail."\n=====================================\n\n";
}
specialcharsreg($bademail);
?>

最佳答案

该表达式并不能代替它。

您只是没有正确引用您的字符串和 $variable s 被插入。

您的(双引号):

$bademail = "MAXCOOL$$ES$$%%T%%@%SP***AM.com";

应该是(使用单引号时不插入变量):
$bademail = 'MAXCOOL$$ES$$%%T%%@%SP***AM.com';

或者你可以逃避 $ s 带反斜杠:
$bademail = "MAXCOOL\$\$ES\$\$%%T%%@%SP***AM.com";

关于php - 奇怪的正则表达式行为解析特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11083094/

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