strstr()的参数计数错误

时间:2011-08-05 10:19:04

标签: php regex string string-matching strstr

我在wordpres中使用帖子GUID构建了一个导航菜单,并且发布标题,我只占用了标题的一部分并且这样做我正在做以下事情,

$casestudylist .= "<li class='subnav'><a href=".$v->guid.">". strstr($v->post_title, ":", true)."</a></li>";

但是我收到以下警告并且无法解决原因:

wrong parameter count for strstr()

基本上我试图将所有字符从字符串中拉出来,如果它们在:之前。

3 个答案:

答案 0 :(得分:15)

您使用的PHP版本不支持strstrDocs的第三个参数,因此出现错误消息。您对该函数的使用需要PHP 5.3.0或更高版本。

您可以升级服务器上的PHP版本,也可以使用类似的函数替换函数调用:

substr($v->post_title, 0, strpos($v->post_title, ":"))

或者如果你想使用一个更容易阅读的辅助函数(Demo):

str_before($v->post_title, ":");

function str_before($subject, $needle)
{
    $p = strpos($subject, $needle);
    return substr($subject, 0, $p);
}

相关: strstr to show string before occurance

答案 1 :(得分:0)

PHP 5.3.0中添加了第三个参数。您运行的PHP版本是否低于5.3.0?

答案 2 :(得分:0)

substr($v->post_title, 0, strpos($v->post_title, ':'));

将在较低版本的PHP上完成工作。