Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skracanie url jak na forum.php.pl
Forum PHP.pl > Forum > PHP
intol
Czy ktoś mógłby udostępnić wyrażenie odpowiedzialne za skracanie URL na forum.php.pl, tak że zbyt długi adres jest skracany do postaci: http://www.costamcos...dass.html ?

Z góry dzięki
Fuzja
Czyżbyś na swoim portfolio kłamał ? - Programowanie: php - zaawansowany
piotrd
pokombinuj z
  1. <?php
  2. $text = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=""></a>", $text);
  3. ?>

lub też
  1. <?php
  2. function hyperlink(&$text)
  3. {
  4.  $text = ereg_replace("[a-zA-Z]+://([-]*[.]?[a-zA-Z0-9_/-?&%])*", "<a href=""></a>", $text);
  5.  $text = ereg_replace("(^| )(www([-]*[.]?[a-zA-Z0-9_/-?&%])*)", "1<a href="http://2">2</a>", $text);
  6. }
  7. ?>
mike
nice URL
mod_rewrite

Do znudzenia ...
hwao
Eh ciency jestescie.. biggrin.gif
Musze Wam pokazac kto jest pro smile.gif Rkingsmiley.png

  1. <?php
  2. error_reporting( E_ALL | E_STRICT );
  3.  
  4. function ShortLinkText( $aLink ) {
  5. $sContent = & $aLink[2];
  6. $iLen = strlen( $sContent );
  7. if( $iLen > 40 ) {
  8. $sLink = substr( $sContent, 0, 30 );
  9. $sLink .= '...';
  10. $sLink .= substr( $sContent, -);
  11. $sContent = & $sLink;
  12. }
  13. return '<a'.$aLink[1].'>'.$sContent.'</a>';
  14. }
  15.  
  16. function OutputFilter( $sBuffor ) {
  17. return preg_replace_callback( '@<a([^>]+)>([^<]+)</a>@is', 'ShortLinkText', $sBuffor );
  18. }
  19.  
  20. ob_start( 'OutputFilter' );
  21. ?>
  22. Test
  23. <a href="http://example.com/jakis/dlugasny/linek/na/jakiejs/tam/stronie/lub/forum">http://example.com/jakis/dlugasny/linek/na/jakiejs/tam/stronie/lub/forum</a>
  24. <a href="http://example.com/jakis/dlugasny/linek/na/jakiej432s/tam/stronie/432lub/432forum">http://exampl432e.com/jakis/dlugasny/linek/na/jakiejs/tam/stronie/543lub/forum</a>
  25.  
  26. <a href="http://example.com/jakis/dlugasny/linek/na/jakiejs/tam/stronie/lub/forum">http://exa432mple.com/jakis/dlugasny/linek/na/jakiejs/tam/stronie/lub/543forum</a>
  27. <a href="http://example.com/jakis/dlugasny/linek/na/jakiejs/tam/stronie/lub/forum">http://examp754le.com/jakis/dlugasny/linek/na/jakiejs/tam/stronie/lub/f543orum</a>


Pisane na szybko, ale powinno dzialac (jezeli uzywasz systemu szablonów to zamiast ob_start" title="Zobacz w manualu php" target="_manual() ustaw to jako koncowy filtr.


Imho takie cos nawet poczatkujacy powinien umiec zrobic, a nie programista uwazajacy sie za "zaawansowanego".
bela
hwao?
wszystko rozchodzi się o zmienna $_SERVER['PATH_INFO']. Jest porada scannera o tym.
hwao
//Pełna edycja", img_item + " Szybka edycja" ) ); } //]]> Pełna edycja Szybka edycja @bela_666: o to właśnie chodzi ze nikt poza piotrd nie zrozumial oco chodzi autorowi posta, on nie chce NiceURL tylko skrocic te na stronie (w htmlu).. Czyli jak jest za dlugi wyciac czesc i wstawic w srodek kropki.
intol
Zastosowałem kod hwao - dzięki.

@hwao

Nie sądziłem że będziesz pisał całą funkcję. Sądziłem że to jest pojedyńcze wyrażenie reg. i po prostu chciałem wykorzystać gotowy kod z forum.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.