<?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