Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Преобразование http, mail, ftp текста из БД в ссылки
 
 автор: MacVit   (05.08.2004 в 13:16)   письмо автору
 
 

Больше спасибо за быстрый отклик на мое первое сообщение.

Появился второй вопрос:

Есть БД, в ней пристуствует поле Description (для вставки большого объема текста). При выводе на страницу, все ссылки (http, ttp, @) отображаются как обычный текст.

Вопрос: Как преобразовать это в ссылки?

Сразу появился третий вопрос:
Человек заполняет со стороны пользователя форму и это поле, в нем он пишет ссылку на сайт, например., Приглашаю всех на мой сайт http://name.domen.ru.

Вопрос: как преобразовать это при записи в БД, чтобы при просмотре сообщения был следующий вид:
Приглашаю всех на <a href="http://name.domen.ru%20">мой сайт</a>

   
 
 автор: glsv (Дизайнер)   (05.08.2004 в 14:04)   письмо автору
 
   для: MacVit   (05.08.2004 в 13:16)
 

Примерно вот так. Регулярным выражением обрабатываете текст, который вы хотите изменить.


<?
  $description
=preg_replace("/(http:\\/\\/www|www)(\\S+)/si",'<a href="http://www\\2">www\\2</a>',$description);
?>


Это регулярное выражение заменяет текст вида
http://www.ресурс и www.ресурс
на ссылку в HTML
<a href=http://www.ресурс>http://www.ресурс</a>

   
 
 автор: glsv (Дизайнер)   (05.08.2004 в 14:13)   письмо автору
 
   для: MacVit   (05.08.2004 в 13:16)
 

Вопрос: Как преобразовать это в ссылки?
По первому вопросу: Вы можете записывать в базу ссылки уже виде HTML, а не виде текста. Тогда преобразование производим до того, как поместили в базу.

Либо в базе хранить текст, а преобразовывать ссылки перед тем, как вывести на страницу.

По второму вопросу:
Тоже самое.
Допустим поле в форме ввода называется text – т.е. у нас есть переменная $text;

Тогда в скрипте, который обрабатывает форму пишем

<? 
  $text
=preg_replace("/(http:\\/\\/www|www)(\\S+)/si",'<a href="http://www\\2">www\\2</a>',$text); 
?>

Т.е. обрабатываем эту переменную, чтобы преобразовать ссылки, а уже потом помещаем в базу данных

$query="Insert …… $text";

   
 
 автор: MacVit   (05.08.2004 в 15:44)   письмо автору
 
   для: glsv (Дизайнер)   (05.08.2004 в 14:13)
 

Большое СПАСИБО за быстрый ответ!!!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования