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

Форум PHP

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

 

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

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

тема: Как сделать активными ссылки?
 
 автор: Jaroslav   (26.03.2006 в 18:08)   письмо автору
 
 

Здравствуйте!

Подскажите, пожалуйста, как сделать в тексте активными ссылки.

Например, пользователь вводит информацию о себе.
Переменная:

$a=”Это ссылка на мой сайт – www.yousite.ru Приглашаю все желающих….”;

или

$b=”Это ссылка на мой сайт – http://www.yousite.ru/ Приглашаю все желающих….”;

Как сделать так, чтобы при выводе этой переменной в окно браузера, ссылка становилась активной?

Спасибо.
С уважением,
Ярослав.

   
 
 автор: Drago   (26.03.2006 в 18:27)   письмо автору
 
   для: Jaroslav   (26.03.2006 в 18:08)
 

Например так

<?php
$a
="Это ссылка на мой сайт – <a href=\"www.yousite.ru\">www.yousite.ru</a> Приглашаю все желающих….";
?>

   
 
 автор: Jaroslav   (26.03.2006 в 18:33)   письмо автору
 
   для: Drago   (26.03.2006 в 18:27)
 

Дело в том, что не известно, какую ссылку введут пользователи. Надо как-то просмотреть текст, обработать ссылки и сделать, чтобы они были активными. Например, если из Яндекса отправить письмо, и в тексте письма указать www.site.ru, то у получателя она будет активной и по ней можно будет сразу перейти на другой сайт. Мне надо сделать также.

   
 
 автор: CrazyAngel   (26.03.2006 в 18:37)   письмо автору
 
   для: Jaroslav   (26.03.2006 в 18:33)
 

Тогда надо действовать ругулярными выражениями

   
 
 автор: Jaroslav   (26.03.2006 в 18:49)   письмо автору
 
   для: CrazyAngel   (26.03.2006 в 18:37)
 

А не могли бы написать поподробнее :)
Как написать для этой цели регулярные выражения?

   
 
 автор: CrazyAngel   (26.03.2006 в 19:01)   письмо автору
 
   для: Jaroslav   (26.03.2006 в 18:49)
 

Извини сегодня не поличиться - завтра

   
 
 автор: Jaroslav   (26.03.2006 в 20:47)   письмо автору
 
   для: CrazyAngel   (26.03.2006 в 19:01)
 

Ok! До завтра!

   
 
 автор: CrazyAngel   (26.03.2006 в 18:36)   письмо автору
 
   для: Drago   (26.03.2006 в 18:27)
 

неправильно вы забыли про кавычки тоестль надо так

<?php 
$a
="Это ссылка на мой сайт – <a href=\'www.yousite.ru\'>www.yousite.ru</a> Приглашаю все желающих…."
?>

   
 
 автор: Drago   (26.03.2006 в 20:40)   письмо автору
 
   для: CrazyAngel   (26.03.2006 в 18:36)
 

А у меня ковычек разве не видно?

   
 
 автор: Jaroslav   (26.03.2006 в 20:45)   письмо автору
 
   для: Drago   (26.03.2006 в 20:40)
 

Все правильно! Кавычки должны быть одинарными :)

   
 
 автор: Drago   (26.03.2006 в 21:12)   письмо автору
 
   для: Jaroslav   (26.03.2006 в 20:45)
 

Вообще-то, браузеру все равно, одинарные ковычки или двойные. Можно даже и без ковычек, но тогда, если в адресе ссылки будут пробелы, выведится все до первого.

А сделать попробуйте так

<?php
$a 
"Это ссылка на мой сайт – http://www.yousite.ru/ Приглашаю все желающих….";
$a preg_replace("/(http:\/\/([a-zA-Z_0-9\.\?\&\#\;\:\+\-\=\%\/]*))/i"" <a href=\"http://\\2\">\\2</a>"$a);;
echo 
$a;
?>

   
 
 автор: CrazyAngel   (26.03.2006 в 21:41)   письмо автору
 
   для: Drago   (26.03.2006 в 21:12)
 

Кстати ваш вариант прекрасно работает

но надо все равно учеть ссылка начинаеться на http://

то

$a = preg_replace("/(http:\/\/([a-zA-Z_0-9\.\?\&\#\;\:\+\-\=\%\/]*))/i", " <a href=\"http://\\2\">\\2</a>", $a);


а если на www

то

$a = preg_replace("/(www.([a-zA-Z_0-9\.\?\&\#\;\:\+\-\=\%\/]*))/i", " <a href=\"http://\\2\">\\1</a>", $a);

   
 
 автор: Jaroslav   (26.03.2006 в 23:57)   письмо автору
 
   для: CrazyAngel   (26.03.2006 в 21:41)
 

Большое спасибо!
Все прекрасно работает!
------------------------
С меня пиво :)

   
 
 автор: CrazyAngel   (26.03.2006 в 23:58)   письмо автору
 
   для: Jaroslav   (26.03.2006 в 23:57)
 

УГУ :-)

Россия г.Томск ........

   
 
 автор: Jaroslav   (27.03.2006 в 00:09)   письмо автору
 
   для: CrazyAngel   (26.03.2006 в 23:58)
 

Россия г. Тула :)
Пока начинающий (особенно, в области MySQL), но литературы очень много.
Можете писать на system1991@yandex.ru
Подскажу, где можно приобрести эл. книги… :)

   
 
 автор: CrazyAngel   (27.03.2006 в 00:11)   письмо автору
 
   для: Jaroslav   (27.03.2006 в 00:09)
 

Я имел в виду куда пиво присылать,

p.s. во нафлудили то

   
 
 автор: CrazyAngel   (26.03.2006 в 21:34)   письмо автору
 
   для: Drago   (26.03.2006 в 20:40)
 

Я хотел сказать, что если вы поставите та " то будет ошибка так как вы прерьвете

$a=" " " " - вот что получиться

$a = " ' ' " - вот что надо,

   
 
 автор: Drago   (26.03.2006 в 23:58)   письмо автору
 
   для: CrazyAngel   (26.03.2006 в 21:34)
 

Я экранировал ковычки при помощи обратного слэша "\". Поэтому ошибки быть не может.

   
 
 автор: CrazyAngel   (27.03.2006 в 00:00)   письмо автору
 
   для: Drago   (26.03.2006 в 23:58)
 

-

   
 
 автор: CrazyAngel   (27.03.2006 в 00:00)   письмо автору
 
   для: Drago   (26.03.2006 в 23:58)
 

:-)

Я проглючил!

Извини

   
Rambler's Top100
вверх

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