Я пытаюсь получить идентификатор из строки URL.
Я пытаюсь использовать следующий код:
ИЗ:
<url>http://www.monkeys.com/monkey.php?id=24</url>
Я хочу получить «24» с: –
$ID = preg_replace($url, '/^<url>.*\?id=(.*)<\/url>$/', '\1');
Любая помощь будет высоко оценена – я уверен, что это регулярная проблема, но я нахожу регулярное выражение.
Regex – неправильный инструмент для работы. использование
parse_str
– анализирует строку в переменных и parse_url
– parse_url
URL-адрес и верните его компоненты Пример:
$url = "http://www.monkeys.com/monkey.php?id=24"; parse_str(parse_url($url, PHP_URL_QUERY), $parts); var_dump( $parts ); // 24
Получение URL-адреса из элемента <URL>
должно быть тривиальным. ДОМ – твой друг. См. Различные другие вопросы, касающиеся чтения XML с PHP, а также эту статью, почему вы не должны использовать Regex для синтаксического анализа HTML .
вы можете использовать это регулярное выражение:
/^[^?]+\?id=(.*).*$/
Если идентификатор только числовой:
/\?id=(\d+)/
Если после ID нет ничего
/\?id=(.*)/