регулярные выражение

Старый mweb

Модератор: [mweb team]

регулярные выражение

Сообщение Jedi Чт май 22, 2008 13:42

Народ, в регулярных выражениях я не силён, так что помогите плиз.
У меня есть текст "мой текст <a href="/catalog/file.php">еще текст</a> и еще текст."

Так вот. мне надо вытащить ссылку /catalog/file.php и добавить перед ней http://www.site.my

после этого во всём тексте убираются теги strip_tags
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Chel1 Чт май 22, 2008 15:25

думаю в твоем случае надо просто разобрать строку получив позицию первого символа "/"

сразу же будешь заодно и знать с какой позиции сохранить текст, с какой вставить новую строку

регулярные выражения здесь не нужны. по крайней мере как вставить в строку текст регулярным выражением я не знаю, и думаю что это сделать просто нельзя
Имею желание иметь всех желающих... но не имею желающих
Аватара пользователя
Chel1
Редко заходит
 
Сообщения: 101
Зарегистрирован: Вт апр 05, 2005 2:18

Сообщение Jedi Чт май 22, 2008 15:29

а если у меня 20 таких вот ссылок? и ты мну не понял. мне нужно
скажем все такие ссылки записать например в массив. потом я строку с текстом подвергаю strip_tags
и в конец текста уже вставляю ссылки.

ну а лучше чтобы сылки вставлялись вместо тега А
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Chel1 Чт май 22, 2008 15:46

ок

/<a.*href=["]{0,1}(.*)["]{0,1}.*>/

теоретически вернет ссылку /catalog/file.php
Имею желание иметь всех желающих... но не имею желающих
Аватара пользователя
Chel1
Редко заходит
 
Сообщения: 101
Зарегистрирован: Вт апр 05, 2005 2:18

Сообщение kost Пт май 23, 2008 15:44

На PHP:
Код: Выделить всё
str_replace('<a href="/catalog/file.php">', '<a href="http://example.com/catalog/file.php">', $text);


$text -- это ваш текст.

после этого во всём тексте убираются теги strip_tags

Для чего это, я не могу понять.
Аватара пользователя
kost
Заядлый `курильщик`
 
Сообщения: 701
Зарегистрирован: Ср апр 16, 2003 16:56
Откуда: Санкт-Петербург

Сообщение Jedi Пт май 23, 2008 23:37

2kost: ахереть ты умный!!!
а если написано <a href="/catalog/more_catalog/file2.php" target="_blank">
-13-
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Jedi Пт май 23, 2008 23:39

2kost: и написано же. извлеч из этого только саму ссылку.
а для чего я сам не знаю. так надо заказчику.
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение kost Вс май 25, 2008 13:14

Jedi писал(а):2kost: ахереть ты умный!!!
а если написано <a href="/catalog/more_catalog/file2.php" target="_blank">
-13-


То так и надо писать в условии. У тебя же написано совершенно другое.
Аватара пользователя
kost
Заядлый `курильщик`
 
Сообщения: 701
Зарегистрирован: Ср апр 16, 2003 16:56
Откуда: Санкт-Петербург

Сообщение kost Вс май 25, 2008 13:15

Все ссылки с /catalog/ начинаются?
Аватара пользователя
kost
Заядлый `курильщик`
 
Сообщения: 701
Зарегистрирован: Ср апр 16, 2003 16:56
Откуда: Санкт-Петербург

Сообщение Jedi Вс май 25, 2008 20:46

пля... неизвестно какая ссылка и неизвестно сколько их. мне нужен сам адрес вытащить из тега.
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Chel1 Пн май 26, 2008 8:13

так и не понял чем был плох мой вариант -17-
Имею желание иметь всех желающих... но не имею желающих
Аватара пользователя
Chel1
Редко заходит
 
Сообщения: 101
Зарегистрирован: Вт апр 05, 2005 2:18

Сообщение Muerto Ср май 28, 2008 12:24

Я бы попробывал выражение типа
Код: Выделить всё
https?://[-\w.]+(:\d+)?(/([\w/_.]*)?)?

Ссылки на FTP или мейлы могут быть?
P.-S. Сорри, не протрезвел ещё. Забыл про относительные ссылки. Соберусь с мыслями - предложу вариант.
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва

Сообщение Jedi Ср май 28, 2008 18:17

2Chel1: твой вариант совсем не плох. то что нужно. спасибо!!!
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia

Сообщение Muerto Ср май 28, 2008 18:59

<a.*?href=\"?'?([^ \"'>]+)\"?'?.*?>(.*?)</a>
Опоздал, да?
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва


Вернуться в Архив

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 9

cron