1

如何在 php 中检查字符串中的特定字符,例如“#”或“\”?

我真的不想使用替换,只是返回真或假。

谢谢

4

4 回答 4

3

使用函数 strstr http://us2.php.net/manual/en/function.strstr.php 返回从第一次出现 needle 到 haystack 末尾的部分 haystack 字符串

注意:如果您只想确定某个特定的针是否出现在 haystack 中,请改用更快且内存占用更少的函数 strpos()。

于 2009-09-07T11:40:38.930 回答
3

strpos如果您只想知道一个字符串是否包含另一个字符串,则可以使用该功能(即使您的标题显示“删除”,您的问题内容似乎也表明了这一点)

注意:不要忘记使用!==or===运算符,因为该函数可以返回 0 或 false,它们有不同的含义。


如果您想“删除”字符,str_replace或者strtr可能会成功。

于 2009-09-07T11:42:45.133 回答
3

你可以这样做:

if (strpos($string, '#') !== false || strpos($string, '\') !== false) {
    // One of those two characters is in the string.
}

请特别注意!==语法,它区分false(表示未找到字符)和0(表示在 position 找到0)。

于 2009-09-07T11:44:22.453 回答
0

尝试正则表达式。

preg_match('/[#\\\\]/', $String);

注意:您必须将反斜杠“\”转义三次。

如果你真的想要布尔格式,你可以使用三元运算符'?:'这样

preg_match('/[#\\\\]/', $String) ? true : false;

或者简单地转换为布尔值

(bool)preg_match('/[#\\\\]/', $String);
于 2012-12-25T15:28:54.433 回答