我的最新一期涉及尝试在变量中找到“http://”。此变量包含客户端网站上的注释部分的内容。我已经看到了各种各样的答案,但它们似乎都没有用。我在这里看了几个其他的帖子,我还没有得到最好的答案。以下是我到目前为止的情况:
if(strpos($comments, 'http://') == true) {
// Does stuff here
}
我注意到其他人使用preg_match,有些人说要在数组中执行。我很困惑,选择太多了。开玩笑。我想澄清一下,任何建议都会非常感激。
答案 0 :(得分:8)
你需要说:
if(strpos($comments, 'http://') !== false) {
...因为如果http://
位于字符串的开头,它可以返回0(这是假的)。
注意:这只会在字符串中找到http://
的第一个匹配项。
答案 1 :(得分:3)
您需要更改代码:
if(strpos($comments, 'http://') === false) {
//没有链接 }
因为strpos返回整数,它是你的字符串的位置。
实施例: 完整的字符串:“http://stackoverflow.com你好” 你发现:“http”
当然它会返回0.
但是 完整字符串:“ahttp://stackoverflow.com” 你发现:“http”
它返回1.
所以你必须使用===运算符检查是否真的'布尔错误'。
如果您尝试使用==运算符进行检查,则可能会因为0为false而失败。