Показать сообщение отдельно
Старый 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.