0

我有一个获取当前网址的功能 - 在这里找到:http ://webcheatsheet.com/php/get_current_page_url.php - 我正在尝试在其中寻找一个字符串 - WordPress 类别 slug:

function curPageURL() {
     $pageURL = 'http';
     if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
     $pageURL .= "://";
     if ($_SERVER["SERVER_PORT"] != "80") {
      $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
     } else {
      $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
     }
     return $pageURL;
    }
            //echo $pageURL;    
    if (strstr($pageURL, 'pro')) 
    { 
        echo "cool!";}
        else {echo "bummer";}`

回显时的 url $pageURL 确实具有完整的 url,其中 pro 作为 url 的一部分,但是无论如何都会回显令人沮丧的意思,这意味着我的 if 语句是或者我的strstr不起作用。它是什么?

4

2 回答 2

1

如果该部分代码是从您的代码中完全复制的,那么您没有设置$pageURL. 在你的情况之前,你应该打电话

$pageURL=curPageURL();

确保您在实际网址中搜索“专业”一词。

如果您在条件和函数声明之间有代码,请查看有关的详细信息strstr以及评估结果FALSE

strstr返回字符串的一部分,或者FALSE如果没有找到 needle。

在 PHP 中,当转换为布尔值时,以下值被视为 FALSE:

布尔值FALSE本身

整数0(零)

浮点数0.0(零)

空字符串和字符串“ 0

一个元素为零的数组

具有零成员变量的对象(仅限 PHP 4)

特殊类型NULL(包括未设置的变量)

从空标签创建的 SimpleXML 对象

于 2012-02-24T12:19:50.980 回答
0

使用它会帮助你

$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
于 2012-02-24T12:18:44.363 回答