Loading:

PHP 7 News & Updates v7.0 - 7.4 - book

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


Ten wpis posiada swój wątek na forum

Wszystkie pytania prosimy kierować właśnie tam ponieważ komentarze to miejsce na poprawki do kodu lub alternatywne rozwiązania i pytania nie będą publikowane

http://forum.funkcje.net/forum/viewtopic.php?f=4&t=5826

Dane do logowania na forum są takie same jak na funkcje.net



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-17 v.1.5 | design: diviXdesign & rainbowcolors