![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
SyncMaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Такой вопрос, мне надо найти в тексте все ссылки, потом взять урл и анкор и заменить
Делаю я так –
например ссылки такого вида - <a href=http://www.1.ru/>1</a> <a href='http://2.ru'>2</a> <a href="http://3.ru">3</a> после чего получаем ссылку такого вида- <a href="http://www.1.ru/ " rel="nofollow">1</a> <a href="http://2.ru" rel="nofollow">2</a> <a href="http://3.ru" rel="nofollow">3</a> Но фишка в том что он находит только те ссылки где есть двойные кавычки, там где нету или стоит одинарная, он игнорирует. Сразу скажу что с регулярными выражениями у меня траблы. Заранее большое спасибо. Это сообщение отредактировал(а) SyncMaster - 1.8.2010, 15:24 |
|||
|
||||
ZneP |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 98 Регистрация: 15.7.2008 Где: Россия, Москва Репутация: нет Всего: нет |
Регулярка:
/<a\s+href=(\'|"|)((http:\/\/|https:\/\/)?([^\.\/]+\.)*([a-zA-Z0-9])([a-zA-Z0-9-]*)\.([a-zA-Z]{2,4})(\/.*)?)(\'|"|)>(.*)<\/a>/i Пример ссылки: <a href=http://www.1.ru/>1</a> Массив после парсинга: Индекс - Значение 0 - 1 - http://www.1.ru/ 2 - http:// 3 - www. 4 - 1 5 - 6 - ru 7 - / 8 - 9 - 1 С одинарными и двойными кавычками тоже парсит |
|||
|
||||
arvitaly |
|
|||
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 7.10.2009 Репутация: нет Всего: нет |
По моему лучше использовать DOM
Во-первых уже оформлено в класс на все возможные случаи жизни, во-вторых не нужны миллионы байт регулярки для каждого случая (нет смысла изобретать велосипед). |
|||
|
||||
SyncMaster |
|
|||
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 13.7.2006 Репутация: нет Всего: нет |
Всем большое спасибо за ответы все работает.
DOM это конечно гуд, но после часа битвы над кодировкой, желание работать с ним отпало. Так что будем юзать регулярку. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |