【问题标题】:wrong parameter count for strstr()strstr() 的参数计数错误
【发布时间】:2011-10-20 18:04:07
【问题描述】:

我使用帖子 GUID 和帖子标题在 wordpres 中构建了一个导航菜单,我只取了部分标题,为此我正在执行以下操作,

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

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

wrong parameter count for strstr()

基本上,如果它们在 : 之前,我会尝试从字符串中提取所有字符。

【问题讨论】:

    标签: php regex string string-matching strstr


    【解决方案1】:

    您使用的 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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:
        substr($v->post_title, 0, strpos($v->post_title, ':'));
        

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

        【讨论】:

          猜你喜欢
          • 2014-03-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-11-30
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多