PHP Regex functies:

$input =
$pattern =

 

Perl-Compatible Regex functies op php.net
http://regexlib.com/

 

<?php 
$input 
'demo123@demo.com';
$pattern '/^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/';
if (isset(
$_POST['input']) && ($_POST['input'] <> "")){
   
$input $_POST['input'];
}
if (isset(
$_POST['pattern']) && ($_POST['pattern'] <> "")){
   
$pattern get_magic_quotes_gpc() ? stripslashes($_POST['pattern']) : $_POST['pattern'];
}
?>

top

Controleer of $input voldoet aan het patroon $pattern

<?php 
echo $input;
echo 
$pattern;
echo (
preg_match($pattern,$input) ? 'true (match)' 'false (no match)');
?>

Resultaat:

$input = demo123@demo.com
$pattern = /^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$/

preg_match('$pattern','$input') = true (match)

top - preg_match()

Zoek en vervang een patroon

<?php 
echo $input;
$patternSearch '/[a-z]/';
$patternReplace 'x';
echo 
$patternSearch;
echo 
$patternReplace;
//vervang alle kleine letters in demo123@demo.com door "x"
echo preg_replace($patternSearch$patternReplace,$input);
$patternSearch = array('/@/','/\./');
$patternReplace = array(' at ',' dot ');
echo 
$patternSearch;
echo 
$patternReplace;
//vervang "@" door " at " en "." door " dot "
echo preg_replace($patternSearch$patternReplace,$input);
?>

Resultaat:

$input = demo123@demo.com

$patternSearch = /[a-z]/
$patternReplace = x
preg_replace($patternSearch, $patternReplace,$input) = xxxx123@xxxx.xxx

$patternSearch = array('/@/','/\./')
$patternReplace = array(' at ',' dot ')
preg_replace($patternSearch, $patternReplace,$input) = demo123 at demo dot com

top - preg_replace()

 

Regex syntaxis

Metatekens Een combinatie van bepaalde karakters
. elk willekeurig karakter. \c Controlekarakters.
^ begint met. \s witruimte (spaties).
$ eindigt op. \S geen witruimte.
* nul of meermaals. \d cijfers (idem als [0-9]).
+ één of meermaals. \D alles behalve cijfers.
? nul of één maal. \w een woordteken (idem als [a-zA-Z0-9] en een underscore).
Groepen en ranges \W alles behalve een woordteken.
( ) een groep.    
| of functie.    
[   ] binnen een range. [0-9] -> enkel cijfers    
[^ ] buiten een range. [^0-9] -> alles behalve cijfers    
{3} exact drie maal.    
{3,5} drie, vier of vijf maal.    
{3,} drie of meermaals.    

top