Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> BBcode [url] и html тэг <a> 
V
    Опции темы
Staind
Дата 8.2.2008, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 17.12.2007
Где: Планета сокровищ

Репутация: 1
Всего: 3



Не могу никак понять. Есть строка "кыркпыкафуhttp://yandex.ruafesgrsg", после трансформации мне нужно, чтобы эта страка превратилась в такую:
"кыркпыкафу<a href='http://yandex.ru'>http://yandex.ru</a>afesgrsg"
Но никак не могу понять как это реализовать. Понятно как ... переводит в html тэги (str_replace). Но тут сначала нужно запомнить что лежит между [url] и [/url] и продублировать линк в href='http://yandex.ru' - помогите пожалуйста.
--------------------
Ничто так не раздражает человека, как просьба успокоиться
PM MAIL WWW ICQ   Вверх
skyboy
Дата 8.2.2008, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 8
Всего: 260



регулярное выражение: preg_replace
там в строке для замены можно указывать группы, которые были найдены при помощи регулярного выражения.
например, вроде такого:
Код

$text= "some bold text";
$text= preg_replace('#\[b\](.*)\[/b\]#','<b>\\1</b>',$text);

обрати внимание: в строке замены "\\1" соотвествует первой по порядку группе(в регулярном выражении первая группа - это ".*", т.е. все то, что между [ b] и [/ b])
PM MAIL   Вверх
Staind
Дата 8.2.2008, 21:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 17.12.2007
Где: Планета сокровищ

Репутация: 1
Всего: 3



2skyboy, спасибо больше, да, все как по маслу пошло, спасибо.
--------------------
Ничто так не раздражает человека, как просьба успокоиться
PM MAIL WWW ICQ   Вверх
flashaa
Дата 8.2.2008, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 2
Всего: 25



Короче вычленить ссылку? Эту задачу можно решить легко или просто, в зависимости от того, сколько типов ссылок мы хотим выбрать и из каких ситуаций - только http://, либо с произвольным проколом, либо с отсутствием протокола - типа www.yandex.ru. Если задача не решиться на более простых примера, скину код Котерова - там было реализовано через preg_replace_callback - ну там рассмотрен весь набор ссылок, какие только могут быть
PM MAIL   Вверх
Staind
Дата 8.2.2008, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 175
Регистрация: 17.12.2007
Где: Планета сокровищ

Репутация: 1
Всего: 3



2skyboy, только еще маленький вопрос:
А что означает символ # в рег. выражениях?
--------------------
Ничто так не раздражает человека, как просьба успокоиться
PM MAIL WWW ICQ   Вверх
flashaa
Дата 8.2.2008, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 2
Всего: 25



Цитата(Staind @  8.2.2008,  21:45 Найти цитируемый пост)
А что означает символ # в рег. выражениях? 

В данном случае это ограничитель. У регулярки 2 части - то. что между ограничителями  - регулярка и то,что справа от правого ограничителя - флаги. Тут все понятно написано -  http://ru2.php.net/manual/ru/reference.pcr...tern.syntax.php
Решение Д. Котерова по ссылкам здесь - http://forum.dklab.ru/viewtopic.php?p=109680
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0452 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.