Get the parts of a search string
";
}
?>
Splitting a string into component characters
";
}
?>
Splitting a string into matches and their offsets
Getting the domain name out of a URL
";
$host = $matches[2];
// get last two segments of host name
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo "domain name is: {$matches[0]}\n";
?>
Example of use of preg_match
Match: $matches[0]");
print("Pastry: $matches[1]
");
print("Variant: $matches[2]
");
print("Name: $matches[3]
");
}
else {
print("No match.");
}
?>
Check if an IP-v4 address is valid
function valid_ipv4($ip_addr)
{
$num="([0-9]|1?\d\d|2[0-4]\d|25[0-5])";
$range="([1-9]|1\d|2\d|3[0-2])";
if(preg_match("/^$num\.$num\.$num\.$num(\/$range)?$/",$ip_addr))
{
return 1;
}
return 0;
}
$ip_array[] = "127.0.0.1";
$ip_array[] = "127.0.0.256";
$ip_array[] = "127.0.0.1/36";
$ip_array[] = "127.0.0.1/1";
foreach ($ip_array as $ip_addr)
{
if(valid_ipv4($ip_addr))
{
echo "$ip_addr is valid
\n";
}
else
{
echo "$ip_addr is NOT valid
\n";
}
}
?>
Repetitions
";
echo "preg_match(\$p,'100');
".preg_match($p,'100').'
'; // writes 1
echo "preg_match(\$p,'100.10');
".preg_match($p,'100.10').'
'; // writes 1
echo "preg_match(\$p,'-100');
".preg_match($p,'-100').'
'; // writes 1
echo "preg_match(\$p,'toto');
".preg_match($p,'toto').'
';
//writes 0 i.e. no match
echo "preg_match(\$p,'toto 50');
".preg_match($p,'toto 50').'
';
//writes 1
?>
$p='/-?\d+/';
preg_match($p,'toto 50',$a);
echo $a[0];
preg_match($p,'toto -3050',$b);
echo $b[0];
';
preg_match($p,'toto -3050',$b);
echo $b[0];
?>
Subexpressions
$patternProf = '/([a-zA-Z]{3}\d{1,2})@bfh.ch/';
$address = 'bie1@bfh.ch';
preg_match($patternProf,$address,$res);
echo "email=".$res[0];
echo "kuerzel=".$res[1];
\n";
echo "kuerzel=".$res[1]."
\n";
?>
$log= '192.168.1.10 - - [02/Dec/2010:16:31:22 +0100] "GET /coursAWT/hello.php HTTP/1.1" 200 937 ';
$pattern1='/([\d\.]+) -(.*)- (\[.*\])\s"(GET|POST)/';
preg_match($pattern1,$log,$res);
foreach($res as $k => $item){
echo "\$res[$k] = ".$item."\n";
}
$item){
echo "\$res[$k] = ".$item."
\n";
}
?>