Mér fannst svo pirrandi þegar fólk sendi inn slóðir sem voru gífurlega langar, þannig ég ákvað að búa til script sem stytti þær. Þetta er nú eflaust ekki besta leiðin til að gera þetta, en ég gerði þetta í flýti kl 2 um nótt, og þar sem þetta áhugamál er nú ekki það virkasta þá ákvað ég að senda þetta hingað inn.

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