Hoe gebruik ik preg replace

Inleiding

Hieronder enkele handige PHP snippets voor wie geen zin en/of tijd heeft zich in de syntax van regular expressions te verdiepen:

Stappen


Strippen van niet gewenste tekens

Verwijder alles behalve letters (niet case-sensitive):

$output = preg_replace("/[^a-z]/i", "", $input);

Verwijder alles behalve letters en cijfers (niet case-sensitive):

$output = preg_replace("/[^a-z\d]/i", "", $input);

Verwijder alles behalve letters, cijfers en spaties (niet case-sensitive):

$output = preg_replace("/[^a-z \d]/i", "", $input);

Overbodige spaties verwijderen:

$output = preg_replace('/\s\s+/', ' ', $input);

Aanklikbaar maken

URL's aanklikbaar maken:

$output = preg_replace("#([\t\r\n ])([a-z0-9]+?){1}://([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)#i", '\1\3', $input);

$output = preg_replace("#([\t\r\n ])(www)\.(([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*)?)#i", '\1\2.\3', $input);

E-mailadressen aanklikbaar maken:

$output = preg_replace("#([\n ])([a-z0-9\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1\\2@\\3", $input);

Validatie functies

Testen of een e-mailadres juist is:

$test = preg_match("/^[a-z0-9_\.-]+@([a-z0-9]+([\-]+[a-z0-9]+)*\.)+[a-z]{2,7}$/i", $input);

Testen of een URL juist is:

$test = preg_match('/(https?:\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/i', $input);

Tips


Handige links