![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
PARROT |
|
||||||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Задача:
В форуме могут встречаться 2 типа адресов:
и второй:
Адрес первого типа вводится просто от руки и он должен подсвечиваться, для этого я использую класс:
Адрес второго вида вводится в текстареа методом яваскрипт сценария, что в итоге представляет вот это:
Естественно при выводе из базы это должно переконвертироваться в:
Для этого я использую вот это:
А так как это все записывается в одно поле базы, получается конфликт при выводе из базы, работает или одно или другое. Вопрос, как объединить, чтобы работало и то и другое? Эх! ![]() Это сообщение отредактировал(а) PARROT - 9.2.2006, 14:18 -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
||||||||||||
|
|||||||||||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
Сделай так.
Сначала заменги все простые ссылки на их .... А затем пройдись по всему тексту регуляркой по [url]... Либо, надо делать более сложное условие в регулярке. |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
А можно попросить пример? Пожалуйста!
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
Mal Hack |
|
||||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
Это:
Заменяем на:
|
||||
|
|||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
ближе, но не совсем, вот что оно выдает теперь:
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
Вот так попробуй.
|
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
вот что выдает:
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
preg_replace("%((?:http
замени на preg_replace("%[^=\]\[]((?:http| |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Теперь просто ссылка не подсвечивается, а ссылка созданная яваскрипт выглядит вот так:
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
посмотреть можно тут http://pk.traktora.spb.ru/index.php?page=comment&idp=65
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
Тут есть два варианта. Либо через callback функцию, либо мы указываем символы, после которых может идти простая ссылка.
|
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Mal Hack, спасибо! Все работает! И такая и такая ссылка. СПАСИБО!
![]() -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
История с продолжением, только теперь email:
2 дня пыталась сделать по аналогии URL, ничего не получилось.
Посмотреть вид можно тут: http://pk.traktora.spb.ru/index.php?page=comment&idp=75 -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Ну вот. Опять двадцать пять. Работает или просто ссылка, или ссылка с описанием.
Добавлено @ 13:12 Если отключить класс, то работает ссылка с описанием. на этот рег:
Просто ссылка даже не подсвечивается. Если отключить этот рег, и включить класс, ссылка подсвечивается, а ссылка с описанием подсвечивается как ей хочется, обрезая 1 цифру адреса......... ![]() -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
PARROT, решить вроде удалось, но есть одно малюсенькое но...
Это малюсенькое но заключается в том, что если мыло стоит в начале предложения, и перед ним нет пробела или какого-нить занка, то первый символ обрезается ![]() ![]() -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |