wrong parameter count for strstr()

Udders picture Udders · Aug 5, 2011 · Viewed 9.5k times · Source

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 :.

Answer

hakre picture hakre · Aug 5, 2011

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