регулярное выражение для извлечения якоря в URL - PullRequest
0 голосов
/ 24 июня 2010

Я пытаюсь извлечь тег привязки и все, что за ним стоит, из ссылки, используя preg_replace.Я нашел один, чтобы удалить все после #, но я хочу тот, который удаляет # и все, что за ним.

http://blah.com # removethis

Спасибо, Стив

Ответы [ 5 ]

9 голосов
/ 24 июня 2010

Вы можете попробовать функцию parse_url :

$url = "http://blah.com#removethis";
print_r(parse_url($url));

фрагмент - после хешмарка #

Вывод:

Array
(
    [scheme] => http
    [host] => blah.com
    [fragment] => removethis
)
3 голосов
/ 24 июня 2010

Другой способ без регулярных выражений:

$newurl = substr($url, 0, strpos($url,"#")); 
2 голосов
/ 24 июня 2010
$url = preg_replace('/#.*$/', '', $url);
1 голос
/ 24 июня 2010
$url = preg_replace('@#.*$@', '', $url);
0 голосов
/ 24 июня 2010

Не используйте регулярные выражения, когда для работы есть надлежащие библиотечные функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...