Основы PHP
  Что такое PHP?
  Возможности PHP
  Преимущества PHP
  История развития
  Что нового в PHP5?
  «Движок» PHP
  Переход на PHP 5.3
New Переход на PHP 5.6
  Введение в PHP
  Изучение PHP
  Основы CGI
  Синтаксис PHP
  Типы данных PHP
  Переменные в PHP
  Константы PHP
  Выражения PHP
  Операторы PHP
  Конструкции PHP
  Ссылки в PHP
  PHP и ООП
  Безопасность
  Функции PHP
  Функции по категориям
  Функции по алфавиту
  Стандартные функции
  Пользовательские
  PHP и HTTP
  Работа с формами
  PHP и Upload
  PHP и Cookies
  PHP и базы данных
  PHP и MySQL
  Документация MySQL
  Учебники
  Учебники по PHP
  Учебники по MySQL
  Другие учебники
  Уроки PHP
  Введение
  Самые основы
  Управление
  Функции
  Документация
  Математика
  Файлы
  Основы SQL
  Дата и время
  CURL
  Изображения
  Стили
  Безопасность
  Установка
  Проектирование БД
  Регулярные выражения
  Подготовка к работе
  Быстрый старт
  Установка PHP
  Установка MySQL
  Конфигурация PHP
  Download / Скачать
  Скачать Apache
  Скачать PHP
  Скачать PECL
  Скачать PEAR
  Скачать MySQL
  Редакторы PHP
  Полезные утилиты
  Документация
  PHP скрипты
  Скачать скрипты
  Инструменты
  PHP в примерах
  Новости портала
 Главная   »  Сборник статей
 
 

Преобразование URL в теги <a href>

Автор: Дмитрий Бородин

Есть некий текст, в котором встречаются фразы типа "А не сходить ли тебе на http://site.com ?".

Задача: Сделать все слова, похожие на ссылки, html-ссылками, т.е. преобразовать текст примера вот так: "А не пойти ли тебе на <a href=http://site.com>http://site.com ?</a>".

После линии идет полный код программы.


<?php 

$buf="

http://любая.мура

sadkjfjkas dfkjasdf ajksd fjkdsfh jksdf kasjdfh kjdfjksdaf 
asfdasd.fklja sdfk.jaas kasldf.jaskldjfls.kadjfkls.dfjaklsdf 

1     www1.ru    
2     www2.ru/123/123
3     PHP.SPB.RU
4     www.php.spb.ru
5     www.123.456.ru/1234/asd#tip-top
6     http://www.ru
7     http://www.ru/123/123
8     http://php.spb.ru
9     http://www.php.spb.ru
10    HTTP://www.dmitry.spb.ru/nado/ftp/?icq2000b.exe (скачать новую Асю :-)
11    dmitry.spb.ru
      
      BAD
      BAD234579324875.12312
      BAD.q
      www.BAD.rrrr
      www.BAD.123

";

 

   echo "<big><b>Имеется текст:</b></big> <pre>$buf</pre>";


// 1 //

$buf=strtolower($buf);
preg_match_all
("/(http:\\/\\/)?([a-z_0-9-.]+\\.[a-z]{2,3}(([ \"'>\r\n\t])|(\\/([^ \"'>\r\n\t]*)?)))/",
$buf,$url); 
echo "<big><b><br><br>1. В тексте было найдено:</b></big><pre>";
for($i=0; $i<count($url[2]); $i++)
   echo "<a href='http://".$url[2][$i]."'>".$url[2][$i]."</a>\n";
echo "</pre>";


// 2 //

echo "<big><b><br><br>2. Замена текста-ссылки на html-код прямо в тексте:</b></big><pre>"; 
$x=explode(" ",$buf);
for ($j=0; $j<count($x); $j++) {
 if (preg_match
    ("/(http:\\/\\/)?([a-z_0-9-.]+\\.[a-z]{2,3}(([ \"'>\r\n\t])|(\\/([^ \"'>\r\n\t]*)?)))/",
    $x[$j],$ok))
    echo str_replace($ok[2],"<a href='http://$ok[2]'>$ok[2]</a>",
                           str_replace("http://","",$x[$j]))." ";
 else
 echo $x[$j]." ";
}

echo '</pre>';
?>

Готово.

 
 » Обсудить эту статью на форуме

 
 Сборник статей 
 Содержание раздела 
Есть еще вопросы или что-то непонятно - добро пожаловать на наш  форум портала PHP.SU 
 

 
Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS