Как мне удалить фрагмент текста из переменной? (PHP)

#php

#php

Вопрос:

Мне нужно иметь возможность удалять URL из переменной, мне интересно, как я это делаю. Пример — Скажем, мой скрипт возвращает http://www.example.com/file.php?id=1234 мне нужно иметь возможность удалять http://www.example.com/file.php?id = бит, просто оставляя идентификационный номер. Если кто-нибудь может помочь, это было бы здорово 🙂

Комментарии:

1. Я знаю, что мог бы использовать $ _GET для получения данных URL, но я не получаю их из URL скриптов. То, что я пытаюсь отредактировать, является переменной.

Ответ №1:

Что-то вроде этого?

 $var = 'http://www.example.com/file.php?id=1234';
$query = parse_url($var, PHP_URL_QUERY);
$query_components = parse_str($query);

$id = $query_components['id'];
  

Ответ №2:

Вы можете использовать регулярные выражения:

 preg_match("/id=(\d )/", $url, $matches);
$id = $matches[1];
  

Комментарии:

1. Будет ли при этом выводиться только идентификационный номер?

2. Да, посмотрите на ответ @Marc B… так лучше. 😛

Ответ №3:

Просто используйте $id = $_GET['id']; .

Смотрите документы.

И не забудьте проверить и очистить.

Ответ №4:

«id» в этом случае отправляется вашему скрипту как переменная GET, поэтому вы должны получить к ней доступ следующим образом:

     $id = $_GET['id'];
  

Если вы хотите сказать, что этот URL-адрес не принадлежит вам, тогда вам следует сделать это вместо этого:

     print_r(parse_url($url)); // Then analyze the output.