Loading:


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.



Napisz Artyku³

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;
}




Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2024 v.1.5 | design: diviXdesign & rainbowcolors