BidiBom
@BidiBom
Wild stuff. Africa

Как разобрать нестандартный URL?

Здравствуйте. Подскажите как разобрать URL приведенный ниже на элементы массива?

https://mysite.ru/good.xhtml#param1=test&param2=test1

массив должен быть такой:
$params["param1"];

$params["param1"];
$params["param2"];

Функция parse_url() не разбирает такой URL.
  • Вопрос задан
  • 293 просмотра
Пригласить эксперта
Ответы на вопрос 2
Denormalization
@Denormalization
Обновил ответ:
<?php

$url = "https://mysite.ru/good.xhtml#param1=test&param2=test1";
$url = str_replace("#", "?", $url);
$query = parse_url($url, PHP_URL_QUERY);
$params = [];
parse_str($query, $params);
var_dump($params);


Вывод:
array(2) {
'param1' =>
string(4) "test"
'param2' =>
string(5) "test1"
}
Ответ написан
nepster-web
@nepster-web
У вас #param1=test&param2=test1 это якорь, а не список аргументов.
Все что после # будет попадать именно в якорь. Вам нужно расширить функцию parse_url, своей функцией и дополнительно разбирать якорь.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы