在JS中,您可以:
var chs = "[](){}";
var str = "hello[asd]}";
if (str.indexOf(chs) != -1) {
alert("The string can't contain the following characters: " + chs.split("").join(", "));
}
如何在PHP中做到这一点(用echo替换alert)?
我不想使用正则表达式,因为我认为它很简单。
编辑:
我尝试过的:
<?php
$chs = /[\[\]\(\)\{\}]/;
$str = "hella[asd]}";
if (preg_match(chs, str)) {
echo ("The string can't contain the following characters: " . $chs);
}
?>
这显然是行不通的,我不知道如何做到这一点没有正则表达式。
3条答案
按热度按时间7qhs6swi1#
在php中你应该这样做:
正则表达式要求检查字符串中是否有任何字符。您可以在这里阅读更多相关信息:
http://en.wikipedia.org/wiki/Regular_expression
关于PHP preg_match():
http://php.net/manual/en/function.preg-match.php
我为此编写了一个更新的正则表达式,它捕获了其中的字母:
它返回类似于以下的内容:
我只更改了正则表达式,变为:
//返回出现的非法字符数组
现在,它将为此
"I am [good]"
返回[]
wmomyfyw2#
为什么不试试str_replace。
在这种情况下,我们可以使用字符串替换来代替正则表达式。
2hh7jdfx3#
下面是一个不使用正则表达式的简单解决方案: