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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выделение ссылок и картинок из текста. 
:(
    Опции темы
Elfet
Дата 9.10.2008, 13:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Всем привет!
Как лучше сделать выделение ссылок и картинок из текста? Если это картинка то оформить её в <img>, а если это ссылка то в <a></a>
Одним рег. выражением тут не обойтись? Как лучше сделать? И ещё конечно же что бы кроме urlов ничего нельзя было подсунуть. 


--------------------
PM MAIL WWW Skype   Вверх
Валерия
Дата 9.10.2008, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Дай пример текста там где картинка smile
Там просто название картинки с расширением png jpg gif?
Напр  
Код

жил был ded.jpg да babka.gif

?

Это сообщение отредактировал(а) Валерия - 9.10.2008, 17:10
PM MAIL   Вверх
Elfet
Дата 9.10.2008, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Нее, полный адрес до картинки. Вот я нашёл код для выделения ссылок и немножко прикрутил.
Код

// Функция обратного вызова для preg_replace_callback().
function hrefCallback($p)
{
    $name = $p[0];
    // Если нет протокола, добавляем его в начало строки.
    $href = !empty($p[1])? $name : "http://$name";
    //Получаем расширение
    $exe = explode(".", $href);
    $exe = $exe[count($exe)-1];
    if($exe == "jpg" || $exe == "jpeg" || $exe == "gif" || $exe == "png")
    {
        // Формируем картинку.
        return "<span class=\"imageself\"><img src=\"$href\" alt=\"$name\"/></span>";
    }
    else
    {
        // Формируем ссылку.
        return "<a href=\"$href\" target=\"_blank\">$name</a>";
    }
}

// Заменяет ссылки на их HTML-эквиваленты ("подчеркивает ссылки").
function hrefActivate($text)
{
    return preg_replace_callback(
    '{
      (?:
        (\w+://)          # протокол с двумя слэшами
        |                 # - или -
        www\.             # просто начинается на www
      )
      [\w-]+(\.[\w-]+)*   # имя хоста
      (?: : \d+)?         # порт (не обязателен)
      [^<>"\'()\[\]\s]*   # URI (но БЕЗ кавычек и скобок)
      (?:                 # последний символ должен быть...
          (?<! [[:punct:]] )  # НЕ пунктуацией
        | (?<= [-/&+*]     )  # но допустимо окончание на -/&+*
      )
    }xis',
    "hrefCallback",
    $text
    );
}




--------------------
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




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


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

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