Scripts

String in url (versie 2)

In versie 1 zaten allerlei dingen die korter konden, vaak veel te omslachtig waren. Nu heb ik alles op één regel gekregen. Natuurlijk ziet dat er opgepropt uit, daarom staan hieronder twee versies. De kortste en de wat langere, maar nog steeds hartstikke kort! Vorige versie (1) Wat doet het? Je ziet het steeds vaker, in verschillende blog of nieuwssystemen staan de titels van deze artikelen in de URL. Ik heb een functie gemaakt die dat ook kan, waarbij je zelf nog eens mag kiezen wat je als teken voor de spaties gebruikt. Standaard staat het koppelteken '-' ingesteld. Ik ben benieuwd hoe jullie hem nu vinden :). --- Edit: - Dank aan iisys voor het beveiligen van het koppelteken met preg_quote ().

string-in-url-versie-2
<?php
// kortste versie
function string2url($string, $koppelteken = '-') {
	return trim(preg_replace("#[^\w".preg_quote($koppelteken, "#")."]#", "", str_replace(" ", $koppelteken, preg_replace("#\&([a-z]{1})([a-z]{1,})\;#", "\\1", htmlentities(strip_tags(strtolower($string)))))), $koppelteken);
}

// wat langere (duidelijkere) versie
function string2url($string, $koppelteken = '-') {
	$string = strtolower($string); // verlaag de tekens
	$string = strip_tags($string); // haal de (html) tags eruit
	
	$string = preg_replace("#\&([a-z]{1})([a-z]{1,})\;#", "\\1", htmlentities($string)); // zet alle rare tekens om naar gewone tekens (het idee dankzij Webmakerij)
	$string = str_replace(" ", $koppelteken, $string); // zet spaties om in het koppelteken
	$string = preg_replace("#[^\w".preg_quote($koppelteken, "#")."]#", "", $string); // haal alle tekens zoals quotes, komma's en punten uit de string, behalve het koppelteken
	$string = trim($string, $koppelteken); // haal de koppeltekens aan de uiteinden van de string weg

	return $string; // geef m maar terug :)
}
?>

Reacties

0
Nog geen reacties.