![]() |
Модераторы: 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, решить вроде удалось, но есть одно малюсенькое но...
Это малюсенькое но заключается в том, что если мыло стоит в начале предложения, и перед ним нет пробела или какого-нить занка, то первый символ обрезается ![]() ![]() -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Это "Но" уже не такое страшное, Спасибо. Полегчало. Работает, да первую цифру душит, интересно знать почему оно так себя ведет
![]() -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Товарищи, это похоже на Птичий грипп, сначала email отказывался показываться нормально с первой строки, но теперь и URL ведет себя также. Диагноз один. Как справиться с общей проблемой?
![]() -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
Т.е. обрезает самую первый символ, стоящий в самом начале строки?
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
PARROT |
|
||||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Не совсем, URL с первой строки ведет себя вот так:
тут можно посмотреть и даже попробовать: http://pk.traktora.spb.ru/index.php?page=c...amp;#038;idp=65 Добавлено @ 18:10 А при наведении на ссылку, посылает вот сюда и так:
Добавлено @ 18:15 вася Такое впечатление, что ему не нравятся именно ссылки введенные от руки, вроде ссылки с описанием хоть с первой, хоть с последней строки пишутся нормально. Да именно так! Ссылки с описанием ему по зубам, а вот просто ссылки не нравятся, так же как и просто введенный от руки e-mail с первой строки. Может с функцией callback чего не так? Добавлено @ 18:20 Выкладываю полностью свой класс, может быть так понятнее будет: Вот класс:
Вот кусок вывода из базы:
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
||||||||
|
|||||||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
PARROT, покажи код.
Добавлено @ 18:30 Не вижу проблем:
Мож я что-то не так тебя понял? -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
PARROT |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
При таком URL-классе, если пользоваться только классом, то ссылка по наведению выглядит в строке так:
А если после класса воспользоваться этим регом:
То при наведению на ссылку выглядит так:
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
||||||
|
|||||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
PARROT, я тебя что-то опять не понимаю. Зачем тебе там несколько раз какими-то классами прогонять, выше функция нормально все заменяет в подобном тексте:
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Если использовать этот класс (твой), то получается вот так:
http://pk.traktora.spb.ru/index.php?page=comment&idp=87 Че-то я не понимаю, а тут работает: http://pk.traktora.spb.ru/url.php Может отдохнуть надо, или я уже чего не понимаю. ![]() Это сообщение отредактировал(а) PARROT - 26.2.2006, 20:28 -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
![]() ![]() -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Щас буду искать ошибку методом исключения, что кому мешает, иначе уже никак. А с email ничего не сделать, то что он первую цифру глотает?
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Да, действительно, все работает.
Нашла я конфликт: Вот эта функция для фоток, конфликтует с функцией URL.
Как быть? Соединить нельзя? -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
PARROT, подожди, я нашел глюк, та функция заменяет ссылки вида http://.... только в начале строки...
![]() Добавлено @ 11:25 Вот исправленный вариант той функции: Находит сначала ссылки вида www.kjbfkjb........ , заменяет их на вид http://www.sdfv....... , затем ссылки вида http://..... заменяет на [url] и потом все по распорядку как и раньше:
Добавлено @ 11:28 Хотя, тот глюк, который имел место при email, точно также распространился и на урлы, т.е. если это начало строки, и в начале строки сразу же без пробела идет адрес, то его не хочет находить. Надо еще поизвращаться... ![]() -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
PARROT, ну так и...? Что-то не так?
-------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Я немножко не понимаю, одна функция должна делать все эти действия или эта функция только для URL?
Добавлено @ 13:30 Просто email и URL написанные от руки эта функция не подсвечивает. Я сейчас объединила в одну и картинки здесь же, все работает, но не подсвечиваются простые ссылки написанные от руки. А так клево, все работает от одной функции, а не от 3 разных. ![]()
Это сообщение отредактировал(а) PARROT - 27.2.2006, 13:38 -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
Вот эта функция:
только для урл -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
Такс........ все заработало http://pk.traktora.spb.ru/url2.php
Но вот если мыло от руки первой строкой, то режет 1 знак. УРА! Осталось чуть-чуть! Мы у цели! (Как мало нужно человеку для счастья?) Вопрос: Как обмануть, последний глюк?
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
PARROT,
![]()
Добавлено @ 14:50 Ты убрала мой рег на урл, а твой рег находит урл только в начале строки ![]() -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: нет Всего: 50 |
-=Ustas=-, а что это такое? Что это было? Все работает! Ура!
Добавлено @ 14:58 Я объясню почему я его убрала, потому что этот рег не подсвечивал простую ссылку URLa, введенную вручную. Незнаю что ему не хватало... -------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
-=Ustas=- |
|
|||
![]() Ustix IT Group ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2222 Регистрация: 21.1.2005 Где: Краснодар Репутация: 6 Всего: 69 |
Обрезанное совпадение подставляли. ))
Как это не подсвечивал, у меня работает на отлично. -------------------- В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм. ----- |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Тексты | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |