| Rubrika Php / mysql
Automatický prevod texu na hyperlink
Pri tvorbe diskusných fór, či kníh hostí sa môže zísť funkcia, ktorá prevedie hyperlinky do klikateľného tvaru. Takéto funkcie spravidla pracujú s regulárnymi výrazmi, princíp je teda veľmi jednoduchý. Samotný zápis regulárnych výrazov je však celkom komplikovaný a žiada si čo-to naštudovať. Ponúkam funkciu, ktorá rieši práve spomínané prevedenie textu na hyperlink.
Zdroj: http://www.totallyphp.co.uk/…perlinks.htm
<? function makeClickableLinks($text) { $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<a href="\\1">\\1</a>', $text); $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '\\1<a href="http://\\2">\\2</a>', $text); $text = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})', '<a href="mailto:\\1">\\1</a>', $text); return $text; } // Použitie // email $text = "you@example.com"; echo makeClickableLinks($text); // URL $text = "http://www.example.com"; echo makeClickableLinks($text); // FTP URL $text = "ftp://ftp.example.com"; echo makeClickableLinks($text); ?>
Ako bonus ponúkam ešte jeden variant. Táto funkcia okrem prevedenia textu na link, skráti pridlhý reťazec na určený počet znakov.
<? function makeClickableLinks($text) { $text = preg_replace('#(http://|ftp://|(www\.))([\w\-]*\.[\w\-\.]*([/?][^\s]*)?)#e',"'<a href=\"'.('\\1'=='www.'?'http://':'\\1').'\\2\\3\">'.((strlen('\\2\\3')>23)?(substr('\\2\\3',0,35).'…'):'\\2\\3').'</a>'",$text); return str_replace('&','&',$text); } ?>
Tomáš Mašek
naspäť
prispieť do diskusie [1]
Vyhľadávanie
Posledných 5 komentárov
Pridať komentár / čítať diskusiu
-
Peto: ok, zaujímavé..., ale ako napríklad spraviť, že...
Viac z rubriky
Ako ochrániť includované PHP súbory?
Automatické generovanie formulárov z MySQL
Cachovanie do HTML súboru
Cachovanie s pomocou funkcií serialize/unserialize
Čiernobiele obrázky v PHP
Dynamická tvorba URL
Fulltext ako názov stĺpca v tabuľke
Getcwd – Ako ľahko získať absolútnu cestu
Import z Excelu do MySQL databázy
Maximálny timeout vykonávania SQL skriptu
Microtime – rýchlosť načítania stránky
Odstránenie diakritiky v PHP pomocou iconv()
Overovanie a kontrola formulárov v PHP
Parsovanie XML súboru v PHP
PHP a zachytenie nedoručených mailov
PHP funkcia implode
Porovnávanie a dátovy typ DATE
Práca so súbormi pri zapnutom safe_mode
Prihlasovanie uživateľa prostredníctvom $_SESSION
Real-time kontrola e-mailovej adresy AJAX-om
Spracovanie dátového typu ENUM do HTML selectu
Strpos a offset – nájdenie výskytu znaku v reťazci
Tip: Generovanie PDF súborov
Tip: jednoduché šifrovanie a dešifrovanie v PHP
Tip: správne includovanie súborov
Ukladanie jazykových verzií statických textov
Veľmi jednoduchý návod na pekné URI
Vkladanie obrázkov do databázy
Výber záznamov začínajúcich číslom
Vyčistenie viacrozmerného poľa
Vyhľadávanie, pekné URI a diakritika
Vypísanie abecedy v PHP
Využívanie unikátnych kľúčov v MySQL databáze
Zaradenie jednej položky do viacerých kategórií
Zistenie hodnoty ďalšieho ID – autoincrement
Zložené MySQL dotazy – LEFT JOIN
Zvýrazňovanie syntaxe kódu – GeSHi
Pridať komentár



