wrong parameter count for strstr()

2019-02-18 22:25发布

问题:

I have built a nav menu in wordpres using a posts GUID, and post title, I am taking only part of the title and to do this I am doing the following,

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

however I get the following warning and cannot work out why:

wrong parameter count for strstr()

Basically I am trying to pull all the characters out of a string if they are before a :.

回答1:

The PHP version you're using does not support the third parameter of strstrDocs, hence the error message. Your usage of the function requires PHP 5.3.0 or higher.

You can either upgrade the PHP version on your server or you replace the function call with something similar like:

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

or if you want to use a helper function which is easier to read (Demo):

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

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

Related: strstr to show string before occurance



回答2:

The third parameter was added in PHP 5.3.0. Is your running PHP version lower than 5.3.0?



回答3:

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

Will do the job on lower version of PHP.