Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Архив Flasher.ru > Программирование > PHP

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 28.12.2003, 14:50
Rave вне форума Посмотреть профиль Отправить личное сообщение для Rave Найти все сообщения от Rave
  № 1  
Rave
 
Аватар для Rave

Регистрация: Apr 2002
Сообщений: 77
По умолчанию Нужна функция для преобразование Url в ссылку

Сабж... в RegEx не силен

Старый 28.12.2003, 18:00
Nirva вне форума Посмотреть профиль Отправить личное сообщение для Nirva Посетить домашнюю страницу Nirva Найти все сообщения от Nirva
  № 2  
Nirva
"Вождь"
 
Аватар для Nirva

Регистрация: Jun 2002
Адрес: New Zealand
Сообщений: 4,600
Отправить сообщение для Nirva с помощью ICQ
может пояснишь, а? или я туп, или третьего не дано.
__________________
а мы летим орбитами путями не избитыми...

Старый 28.12.2003, 18:17
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 3  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Я так понял, что речь идет о превращении текст http://www.foo.bar в <a href="http://www.foo.bar">http://www.foo.bar</a>.

Не найти готовый код -- признак тяжкой лени.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 28.12.2003, 19:35
ultraflasher вне форума Посмотреть профиль Найти все сообщения от ultraflasher
  № 4  
ultraflasher
Banned
[03.10.2005]

Регистрация: Nov 2003
Сообщений: 425
ВНАТУРЕ

Старый 28.12.2003, 19:46
Rave вне форума Посмотреть профиль Отправить личное сообщение для Rave Найти все сообщения от Rave
  № 5  
Rave
 
Аватар для Rave

Регистрация: Apr 2002
Сообщений: 77
Внатуре, внатуре...
А скопировать код, блин трудно!

Сам на свой вопрос отвечаю.
$msg = preg_replace("/(http|ftp)(s)?\\/\\/)((\\w|\\.)+)(\\/)?(\\S+)?/i", "<a href=\"\\0\" target=\"_blank\">\\0</a>", $msg);

Старый 28.12.2003, 23:59
Nirva вне форума Посмотреть профиль Отправить личное сообщение для Nirva Посетить домашнюю страницу Nirva Найти все сообщения от Nirva
  № 6  
Nirva
"Вождь"
 
Аватар для Nirva

Регистрация: Jun 2002
Адрес: New Zealand
Сообщений: 4,600
Отправить сообщение для Nirva с помощью ICQ
мдя.. детям дали автоматы..
__________________
а мы летим орбитами путями не избитыми...

Старый 29.12.2003, 12:16
juggy вне форума Посмотреть профиль Отправить личное сообщение для juggy Посетить домашнюю страницу juggy Найти все сообщения от juggy
  № 7  
juggy
 
Аватар для juggy

Регистрация: Feb 2001
Адрес: LJ/~aleshru
Сообщений: 4,778
Отправить сообщение для juggy с помощью ICQ Отправить сообщение для juggy с помощью MSN Отправить сообщение для juggy с помощью Yahoo Отправить сообщение для juggy с помощью Skype™
http://www.php.spb.ru
__________________
Что за дурь? 50 символов в подписи!?

Старый 08.01.2004, 14:53
SandyMAN вне форума Посмотреть профиль Отправить личное сообщение для SandyMAN Посетить домашнюю страницу SandyMAN Найти все сообщения от SandyMAN
  № 8  
SandyMAN

Регистрация: Jun 2001
Адрес: Jerusalem, Israel
Сообщений: 78
Отправить сообщение для SandyMAN с помощью AIM Отправить сообщение для SandyMAN с помощью Yahoo
mojet prigoditsja, dlja teh kto ne hochet wositsja s RegExp:
eto funkcija rabotaet u menja na odnom saite.

$bulletinStringToOut - eto tekst w katorom mogut wstrechatsja URL's. Pri nahojdenii kotorih oni samenjautsja na linki.

na wiwode otformatirovannii text ( $stringToOut)

=====

PHP код:
function insertLinks($bulletinStringToOut){
                        
# $bulletinStringToOut - free text (with URL's or no)

                        
$bulletinStringToOut $bulletinStringToOut " ";

                        
$len strlen($bulletinStringToOut);
                        
$stringToOut "";
                        
$pos1 0;
                        
$positionSeparate 0;

                        
$pos strpos($bulletinStringToOut"http://");

                        if(
is_integer($pos)){

                                while(
$pos1 $len){

                                        
$string substr($bulletinStringToOut$pos1);
                                        
$pos    strpos($string"http://");
                                        
                                        if(
is_integer($pos)){
                                                
# string "href://" found
                                                # replace 'href://xxx' string to '<a href=href://xxx>href://xxx</a>'
                                        
                                                
$stringPrev substr($string0$pos-1);
                                                
$stringNext substr($string$pos);
                                        
                                                
$positionSeparate strpos($stringNext" ");
                                                
$positionSeparate2 strpos($stringNext"\n");
                                                if(
$positionSeparate2 <= $positionSeparate+1){
                                                        
$positionSeparate $positionSeparate2;
                                                }


                                                
$href substr($stringNext0$positionSeparate);
                                                
// remove dots, commas and other symb. from end of the link

                                                
$hrefLen strlen($href);
                                                
//echo substr($href,$hrefLen-2,1);
                                                
if(substr($href,$hrefLen-2,1) == "." ||
                                                   
substr($href,$hrefLen-2,1) == "," ||
                                                   
substr($href,$hrefLen-2,1) == ";" ||
                                                   
substr($href,$hrefLen-2,1) == ":" ||
                                                   
substr($href,$hrefLen-2,1) == "-"){
                                                        
$href substr($href,0,$hrefLen-2);
                                                }

                                                
$link "<a class='stud' href='" trim($href) . "'>" trim($href) . "</a> ";
                                        
                                                
$stringToOut .= $stringPrev $link ";

                                                
$pos1 += $pos $positionSeparate ;
                                        }
                                        else{
                                                
$stringToOut .= substr($bulletinStringToOut$pos1);
                                                break;
                                        }
                                }
                        }
                        else{
                                
# URL's not found in text
                                
$stringToOut $bulletinStringToOut;
                        }

                        return 
$stringToOut;
                } 


Последний раз редактировалось SandyMAN; 08.01.2004 в 14:56.
Старый 08.01.2004, 15:21
Crazy вне форума Посмотреть профиль Отправить личное сообщение для Crazy Посетить домашнюю страницу Crazy Найти все сообщения от Crazy
  № 9  
Crazy
[+1 23.05.11]
 
Аватар для Crazy

Регистрация: Dec 2001
Сообщений: 4,159
Вызвал вот так:

Код:
insertLinks('See also: http://foo.bar/')
Мертвое зацикливание.
__________________
GIT d++ s++:++ a C++$ UB++ P++ L+ E+ W+++ N++ w++ O+ M V- t-- 5-- X+ R+++ tv- b+++ D++

Старый 08.01.2004, 17:08
SandyMAN вне форума Посмотреть профиль Отправить личное сообщение для SandyMAN Посетить домашнюю страницу SandyMAN Найти все сообщения от SandyMAN
  № 10  
SandyMAN

Регистрация: Jun 2001
Адрес: Jerusalem, Israel
Сообщений: 78
Отправить сообщение для SandyMAN с помощью AIM Отправить сообщение для SandyMAN с помощью Yahoo
Цитата:
Оригинал написал(а) Crazy
Вызвал вот так:

Код:
insertLinks('See also: http://foo.bar/')
Мертвое зацикливание.
sorry...

nashel bug. spasibo Crazy!

wot wilojil file dla prosmotra w deistwii i dlja skachiwanija
http://www.cs.huji.ac.il/~ra9apz/php_2/url_to_link.php

Создать новую тему   Часовой пояс GMT +4, время: 10:46.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:46.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.