пытаясь получить строку из URL - PullRequest
0 голосов
/ 24 февраля 2012

У меня есть функция для захвата текущего URL-адреса - найдена здесь: http://webcheatsheet.com/php/get_current_page_url.php - и я пытаюсь найти строку - слаг категории WordPress - внутри нее:

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, когда echoed, имеет полный url с pro как часть url, но bummer в любом случае повторяется, что означает либо выражение my if, либо my strstr не работает. Что это?

Ответы [ 2 ]

1 голос
/ 24 февраля 2012

Если эта часть кода скопирована именно из вашего кода, то вы не устанавливаете $pageURL. До вашего состояния вы должны позвонить

$pageURL=curPageURL();

чтобы убедиться, что вы ищете слово "pro" внутри фактического URL.

Если у вас есть код между условием и объявлением функции, взгляните на детали, касающиеся strstr и того, что оценивается как FALSE

strstr Возвращает часть строки или FALSE, если игла не найдена.

В PHP при преобразовании в логическое значение следующие значения считаются ЛОЖНЫМИ:

логическое значение FALSE само

целое число 0 (ноль)

Поплавок 0.0 (ноль)

пустая строка и строка "0"

массив с нулевыми элементами

объект с нулевыми переменными-членами (только PHP 4)

специальный тип NULL (включая неустановленные переменные)

SimpleXML объекты, созданные из пустых тегов

0 голосов
/ 24 февраля 2012

Используйте это, это поможет вам

$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first;  // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
...