Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > замена url регулярные выражения


Автор: blad 13.11.2006, 21:00
Здравствуйте!
С регулярными выражениями у меня совсем туго, поэтому сильно не ругайтесь.
Помогите написать выражение:
Есть урл http://domain.com/dir/url1.php его нужно заменить на http://domain.com/dir/url2.php.

и еще как можно выдернуть из http://domain.com/dir/url.php http://domain.com
Заранее благодарен всем за ответы

Автор: ZlojEzh 14.11.2006, 02:41
задача:
Цитата(blad @  13.11.2006,  21:00 Найти цитируемый пост)
Есть урл http://domain.com/dir/url1.php его нужно заменить на http://domain.com/dir/url2.php.

решение:
Код

str_replace("http://domain.com/dir/url1.php", "http://domain.com/dir/url2.php", $text);

мораль:
главное - правильно задачу поставить

аналогично вопрос 2:
1. $res = str_replace("/dir/url.php", "", "http://domain.com/dir/url.php");
2. $res = substr("http://domain.com/dir/url.php", 0 ,17);
3. $res = implode('/', array_splice(explode("/", "http://domain.com/dir/url.php"), 0, 3));
4. ...


ну так же нельзя... надо учиться правильно вопросы задавать
всегда ли в тексте встречается урл в полном виде? если нет, то в каком еще может быть?
могут ли быть в тексте ссылки на скрипт url1 расположенный на другом сервере?
встречаются ли урлы только внутри тегов-ссылок?
а лучше просто привести пример текста

Автор: SelenIT 15.11.2006, 01:28
Имхо, на вопрос 2 лучший ответ - http://php.net/parse_url. Да и для первого оно лишним вряд ли будет...

Автор: skalex 15.11.2006, 12:26
По 2-му вопросу можно и так (если речь идет не о внешнем URL) ...
Код
echo 'http://'.$_SERVER['HTTP_HOST']

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)