2013-10-05 178 views
-1

我想在$content字符串下面找到http://www.facebook.com但它不返回任何东西。请指导。谢谢。函数strpos()不返回任何东西

<?php 
$content = file_get_contents('http://graph.facebook.com/4'); 
$url = 'http://www.facebook.com'; 

$pos = strpos($content, $url); //find position of url in string 
echo $pos; 
+0

它可能无法在$ content中找到变量$ url。因此'strpos'会返回'FALSE'并且什么也不回应。 – neeagl

+0

为什么颠倒顺序? –

+0

在失败时测试布尔值“false” –

回答

0

首先使用strpos()时,你需要类型检查返回值,因为它可以返回0时(串成立于0度位置)或FALSE(当不成立的字符串) 所以第二种情况是你的。 若要检查使用var_dump()而不是echo

3

http://graph.facebook.com/4的内容来作为编码字符串。在这个字符串斜杠被屏蔽。如果你使用var_dump($contents)您将看到:

"link":"http:\/\/www.facebook.com\/zuck" 

绝对strpos回报false,为http://www.facebook.com中不存在$contents。 您可以使用json_decode($content)来检查什么是link值。

+0

好的。有趣。 –

相关问题