![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
kpuknet |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 28.10.2005 Репутация: нет Всего: нет |
приветствую всех.
являяясь владельцем одного из развлекательно\варезных сайтов появилась необходимость преобразовывать несколько линков из некликабельных в кликабельные. Т.к. неудобно каждую ссылку писать в [URL]http://www.1.ru/[URL] [URL]http://www.2.ru/[URL] Поэтому лучше и удобнее в таком виде [MURL] http://www.1.ru/ http://www.2.ru/ http://www.3.ru/ [/MURL] Это должно преобразовываться в
Логика есть, не знаю как сделать технически. 1. Сначала ищем в коде [MURL][/MURL] (эта конструкция названа произвольно, типа Multi URL) 2. Берем содержимое внутри этого. 3. Считаем количество вхождений http:// 4. Преобразовываем. Помогите технически это сделать. Спасиб заранее |
|||
|
||||
MefIsT0feL |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 27.2.2007 Репутация: нет Всего: нет |
Можно было бы ссылки между [MURL] [/MURL] разделять точкой с запятой или запятой и потом с помощью split-а или explode получить массив ссылок которые заменять на <a href=""></a>
Это сообщение отредактировал(а) MefIsT0feL - 1.3.2007, 12:37 |
|||
|
||||
kpuknet |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 28.10.2005 Репутация: нет Всего: нет |
А просто чаще ссылки встречаются именно в такой последовательности и на файлообменниках, когда файлы льешь - тоже выдают в таком виде: каждая ссылка на новой строке
|
|||
|
||||
MefIsT0feL |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 27.2.2007 Репутация: нет Всего: нет |
Тогда разделяй полученную строку explode-ом типа :
а потом полученные элементы массива заменяй на <a href=""></a> ![]() Это сообщение отредактировал(а) MefIsT0feL - 1.3.2007, 13:46 |
|||
|
||||
corpsehunter |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 24.2.2007 Репутация: нет Всего: 3 |
Пробразовывать с помощью регулярных выражений: каждая ссылка начинается на "http://" и заканчивается на "точка, 2 или 3 символа и необязательный слэш".
Примерно такое:
Вроде так... --------------------
Тест на IQ показал отрицательный результат... |
|||
|
||||
kpuknet |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 28.10.2005 Репутация: нет Всего: нет |
Во, спасиб... приду попробую дома... Только ещё может быть 4-5 символов после точки (html, phtml)
Но именно это я и имел ввиду |
|||
|
||||
corpsehunter |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 24.2.2007 Репутация: нет Всего: 3 |
Если ты хочешь, чтобы работало для ссылок http://бла.бла.ру/бла/бла.хтмл, то вот, подкорректировал (он был рассчитан только для http://бла.бла.ру/):
"(http:\/\/([a-z0-9-_]+\.)+([a-z]{2,3})((\/)|((\/[a-z0-9-_]+)+))?((\/)|(\/[a-z0-9-_]+\.[a-z0-9]+))?)" Выглядит, конечно, громоздко, но учел, вроде, все возможные варианты. Проверял ее на яве, но синтаксис почти одинаковый... --------------------
Тест на IQ показал отрицательный результат... |
|||
|
||||
kpuknet |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 28.10.2005 Репутация: нет Всего: нет |
Всё разобрался.
corpsehunter, рег выражения твои че-т не пахали. Т.к. не силен в Рег выражениях - исправить ничего не смог. Нашел в нете. В итоге вот что у меня получлось (полностью готовый код)
Добавлено @ 11:43 Кста, в догонку, сайт где нашел рег выражение: http://www.pcre.ru/ |
|||
|
||||
kpuknet |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 28.10.2005 Репутация: нет Всего: нет |
Блин возникла маленькая проблема....
если вот такой текст, есть помимо есть ещё текст
то как вывести этот текст с кликабельными ссылками. Что надо дополнить в мой текст. |
|||
|
||||
kpuknet |
|
|||
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 28.10.2005 Репутация: нет Всего: нет |
ссори кого потревожил.
Вот решение:
|
|||
|
||||
mishaSL |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1046 Регистрация: 10.1.2007 Где: Санкт-Петербург Репутация: 9 Всего: 54 |
Все это можно сделать одним регулярным выражением:
-------------------- Лучший способ научиться программированию - это посмотреть как это делают другие... |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |