Jak użyć własnej funkcji wewnątrz funkcji preg_replace - dodatkowy modyfikator 
Aby użyć własnego modyfikatora w funkcji preg_perlace należy do wzorca dodać modyfikator e,
przykłąd pokazuje na przykładzie skracania długich adresów url jak tego dokonać w praktyce.
Przykład użycia:
$text='jakis tekst i bardzo długi adres url <a href"http://xyzzzzzzzzzzzzzzzzz.pl">http://xyzzzzzzzzzzzzzzzzz.pl</a>';
echo tnij_url($text);
//zwróci nam 
jakis tekst i bardzo długi adres url  http://xyzzz...
W funkcji tnij_url, jest pokazane jak używa się innej funkcji w celu modyfikacji wyszukanego przez wyrażenie regularne pasującego wzorca.
Listing
function truncateUrl($url,$start=14,$limit=14){
if(strlen($url)>$limit){
$url = strip_tags($url,'<a>');
$poczatek = substr($url,0,$start);
$newUrl = $poczatek.'...';
return $newUrl;
}else{
return $url;
}
}
function tnij_url($text){
$wzorzec = "/<a[^>]*>(.*?)<\/a>/e";
$zamiana = "'<a href=\"http://\\1\">'.truncateUrl('\\1').'</a>'";
$nowyText = preg_replace($wzorzec, $zamiana, $text);
return $nowyText;
}
        	if(strlen($url)>$limit){
$url = strip_tags($url,'<a>');
$poczatek = substr($url,0,$start);
$newUrl = $poczatek.'...';
return $newUrl;
}else{
return $url;
}
}
function tnij_url($text){
$wzorzec = "/<a[^>]*>(.*?)<\/a>/e";
$zamiana = "'<a href=\"http://\\1\">'.truncateUrl('\\1').'</a>'";
$nowyText = preg_replace($wzorzec, $zamiana, $text);
return $nowyText;
}
Dodano przez: igor  
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
:: Losowe artykuły 

:: Wymiana linków 
    
	Modowe inspiracje |
        Android Gry i Aplikacje |
        ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
        Logo dla firmy |
        Change Tires - Car Weather Forecast Reminder |
        Laminas: MVC Framework for PHP |
        IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS | 
        Katalog roślin |
        Programming articles: JAVA, PHP, C++, Python, JavaScript |
        Kancelaria Adwokacka Łukasz Huszno
        
    

 
  
				

 
                             
 


 
                        
 
		 
	