如何在 php 中检查字符串中的特定字符,例如“#”或“\”?
我真的不想使用替换,只是返回真或假。
谢谢
使用函数 strstr http://us2.php.net/manual/en/function.strstr.php 返回从第一次出现 needle 到 haystack 末尾的部分 haystack 字符串
注意:如果您只想确定某个特定的针是否出现在 haystack 中,请改用更快且内存占用更少的函数 strpos()。
strpos
如果您只想知道一个字符串是否包含另一个字符串,则可以使用该功能(即使您的标题显示“删除”,您的问题内容似乎也表明了这一点)。
注意:不要忘记使用!==
or===
运算符,因为该函数可以返回 0 或 false,它们有不同的含义。
如果您想“删除”字符,str_replace
或者strtr
可能会成功。
你可以这样做:
if (strpos($string, '#') !== false || strpos($string, '\') !== false) {
// One of those two characters is in the string.
}
请特别注意!==
语法,它区分false
(表示未找到字符)和0
(表示在 position 找到0
)。
尝试正则表达式。
preg_match('/[#\\\\]/', $String);
注意:您必须将反斜杠“\”转义三次。
如果你真的想要布尔格式,你可以使用三元运算符'?:'这样
preg_match('/[#\\\\]/', $String) ? true : false;
或者简单地转换为布尔值
(bool)preg_match('/[#\\\\]/', $String);