Как отказываться от стоимости вне специфического параметра?

В каких-то платформах и, общественных сетях открой веб сайт, но включи другие параметры в унифицированный указатель ресурса моего веб сайта как ссылка на существо redireccionados например:

http://example.com/demo.php?publishers=11DATg?NL49tr3pMqO2Erj2OYJnRuRXHaCYmKCF3JSEbh3iMRBDRPiTN

Сейчас не импортируя как этот соразмеренная унифицированного указателя ресурса, уже было таким образом:

http://example.com/demo.php?e=1&?a=2&?/publishers=11DATg?NL49tr3pMqO2Erj2OYJnRuRXHaCYmKCF3JSEbh3iMRBDRPiTN&?d=wokfdk

Как получать стоимость специфического параметра отказываясь от других, которые заканчивались бы в: / . ? &

Ввиду того, что следующий код:

$current_link = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$current_link = explode('publishers=', $current_link);
$publishers = $current_link[1] ?? 'Orgánico';

echo $publishers; 

Он печатает мне других нежелательных данных, печатных данных:

11DATg?NL49tr3pMqO2Erj2OYJnRuRXHaCYmKCF3JSEbh3iMRBDRPiTN

#Segunda impresión
11DATg?NL49tr3pMqO2Erj2OYJnRuRXHaCYmKCF3JSEbh3iMRBDRPiTN&?d=wokfdk

Которое единственное желание получать:

11DATg

В момент хотения реализовать статистику и, перекомпенсация осложняется ввиду того, что консультация осуществляется ввиду идентификации ссылки, которая 11DATg

Он довел до сведения, что он не использовал следующую функцию if (isset($_GET["publishers"])) ввиду того, что во мне код печатает стоимость, которая совпадает с вышеупомянутым параметром, не импортируя, если он, написан плохо или плохо соразмеренная унифицированного указателя ресурса, за чем оно не последует с if (isset($_GET["publishers"]))

2
задан 28.12.2019, 15:06
1 ответ

Использовав:

explode('publishers=', $current_link);

всегда obtendrГЎs array с 2 типами стоимости. HTTP_HOST и Ваш parГЎmetros из-за левой стороны и того, что следует за publishers= из-за правой стороны. Следовательно, твой результат всегда serГЎ тот же самый.

TendrГ-Схвати, что субцепь твоего результата извлекать, чтобы получать то, в чем ты нуждаешься:

$publishers = substr($current_link[1], 0, strpos($current_link[1], '?'));

echo $publishers; 

, Если у тебя есть mГЎs символы, которые нужно проверять помимо'?', deberГ-схвати использовать условные:


if ($current_link[1]) {
    if (strpos($current_link[1], '?')) {
        $publishers = substr($current_link[1], 0, strpos($current_link[1], '?'));
    }
    if (strpos($current_link[1], '&')) {
        $publishers = substr($current_link[1], 0, strpos($current_link[1], '&'));
    }
    if (strpos($current_link[1], '/')) {
        $publishers = substr($current_link[1], 0, strpos($current_link[1], '/'));
    }
} else {
    $publishers = 'Orgánico';
}
2
ответ дан 29.12.2019, 09:10
  • 1
    Привет, функционируй, но quedó без эффекта использование этой acció n #$publishers = $current_link[1] ?? 'Orgánico';, который был что imprimí в стоимость из-за default, когда не existí в этот pará метр publishers в она унифицированный указатель ресурса :( – Mary 28.12.2019, 15:54
  • 2
    И это был вопрос, что abrí es.stackoverflow.com/questions/318300/… , чтобы получать эту стоимость из-за default, когда не будет существовать выражение pará метр :( – Mary 28.12.2019, 15:55
  • 3
    Если ты хочешь поддержать это, используй: ' ''' $publishers = (substr ($ current_link [1], 0, strpos ($ current_link [1], '? ')))?? ' Orgá nico'; '' '' – Erik Cuaquira 28.12.2019, 16:05
  • 4
    Образец эта дружелюбная ошибка Notice: Undefined offset: 1 с другой стороны может присоединяться má s ты упорядочиваешь помимо ?, потому что оно происходит, когда он идет así в унифицированном указателе ресурса publishers=11DATg&?osfklskdk288 он печатает меня así: 11DATg& – Mary 28.12.2019, 16:59
  • 5
    В зависимости от разнообразия стоимости, которая могла бы находиться в url, tendrí эксперт, который нужно использовать условные с символами, которые оказались первыми. Editaré мой ответ добавляя эти случаи. – Erik Cuaquira 29.12.2019, 02:01

Теги

Похожие вопросы