<?php # Sérútbúið fall sem styttir URL/slóðir function createURL( $aUrl ) { $url = $aUrl[1]; # Ef / er á endanum á slóðinni, fjarlægjum við það if( substr( $url, -1 ) == '/' ) $url = substr( $url, 0, -1 ); # Ef URL er yfir 50 stafi if( strlen( $url ) > 50 ) { # Bútum URL niður $array_url = parse_url( $url ); # Athugum hvort PATH í bútunum sé með fleiri en eitt skástrik (ein eða fleiri möppur) if( substr_count( $array_url['path'], '/' ) > 1 ) { # Náum í skráarheitið úr PATH $array_url['file'] = substr( $array_url['path'], strrpos( $array_url['path'], '/' ) + 1 ); # Fjarlægjum skráarheitið úr PATH $array_url['path'] = substr( $array_url['path'], 0, strrpos( $array_url['path'], '/' ) + 1 ); # Fjarlægjum PATH úr slóðinni og setjum þrjá punkta í staðinn $new_url = str_replace( $array_url['path'], '/.../', $url ); } # PATH er bara með eitt skástrik (engar möppur) else # Athugum hvort skráarheitið sé lengra en 5 stafir, annars setjum við þrjá punkta $new_url = str_replace( $array_url['path'], substr( $array_url['path'], 0, ( strlen( $array_url['path'] ) >= 6 ) ? 6 : 1 ) . '...', $url ); } # Skilum breytta URL út return '<a href="' . $url . '">' . $new_url . '</a>'; } # Prufum þetta... $foo = 'Einhverjar slóðir hérna með [ url ] og [ /url ] utan um'; # Perl Regular Expression sem athugar allt sem er innan [url] og [/url] og afhendir það createURL() fallinu hér fyrir ofan $string = preg_replace_callback( '#\[url\](.+?)\[/url\]#i', 'createURL', $foo ); # Prentum slóðirnar út echo $string; ?>
Gaui