我知道这似乎并不困难,但我的PHP经验非常基础。
foreach ($name as $name)
{
if (preg_match("^\.",$name)) {
echo "bla bla bla";
Die();
}
if (preg_match("\<", $name)) {
echo "bla bla bla";
Die();
}
if (preg_match("\[", $name)) {
echo "bla bla bla";
Die();
}
if (preg_match("\`", $name)) {
echo "bla bla bla";
Die();
}
}
答案 0 :(得分:1)
在这种情况下,您只需添加delimiters即可。有关详细信息,请阅读Differences from POSIX regex。
答案 1 :(得分:0)
在您的情况下,您可以简单地使用strpos()和=== operator,甚至substr()。你真的不需要正则表达式来匹配常量字符串。
如果要保留当前代码,只需将表达式用您选择的分隔符括起来即可。所有这些都是有效的:
'/^\./'
'@^\.@'
'#^\.#'
您可以在Pattern Syntax和Differences from POSIX regex找到更多信息。
答案 2 :(得分:0)
preg_match函数需要分隔符。 分隔符可以在字符串的开头和结尾存在任何相同的内容。
示例:
$RegExp = "/My regular expression";
$RegExp = "#My Regular expression#";
$RegExp = "%My Regular expression%";
$isMatched = preg_match($RegExp, $target, $matched);
if($isMatched) {
print_r($matched);
} else {
//FAIL
}
在你的情况下,你可以简单地做:
$RegExp = "/(\.|\<|\[|\`)/";
或
$RegExp = "/[.<[`]/";