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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему  
Старый 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($string, 0, $pos-1);
                                                
$stringNext = substr($string, $pos);
                                        
                                                
$positionSeparate = strpos($stringNext, " ");
                                                
$positionSeparate2 = strpos($stringNext, "\n");
                                                if(
$positionSeparate2 <= $positionSeparate+1){
                                                        
$positionSeparate = $positionSeparate2;
                                                }


                                                
$href = substr($stringNext, 0, $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.
Создать новую тему   Часовой пояс GMT +4, время: 22:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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