<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Reguläre Ausdrücke - Regular Expressions - Testwerkzeug</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<?
$ergebnis="";
$regular_expression="";
$user_input="";
if (isset($_POST['ok']))
if (isset($_POST['regular_expression']) && isset($_POST['user_input']))
if (($_POST['regular_expression'] != "") && ($_POST['user_input'] !=""))
{
$regular_expression=$_POST['regular_expression'];
$user_input=$_POST['user_input'];
// Es ist unklar, warum durch $_POST['<Variable>'] aus einem Backslash
// doppelt soviele Backslash's entstehen. Daher sind nachfolgende Zeilen erforderlich:
$regular_expression=str_replace('\\\\','\\',$regular_expression);
$user_input=str_replace('\\\\','\\',$user_input);
$length=strlen($regular_expression);
if (substr($regular_expression,$length-1,1)!="/")
{
$regular_expression = $regular_expression."/";
}
if (substr($regular_expression,0,1)!="/")
{
$regular_expression = "/".$regular_expression;
}
// Mit der Funktion preg_match() wird die Benutzereingabe auf den festgelegten
// Regulären Ausdruck überprüft. Sie liefert true wenn der Vergleich in Ordnung
// ist, andernfalls liefert sie als Rückgabewert false.
// Alternativ wurde früher eregi($regular_expression,$user_input) verwendet,
// welche aber den Posix-Standard NICHT genau erfüllt !
if (!preg_match($regular_expression,$user_input))
{
$ergebnis="Eingabe: NICHT OK";
}else
{
$ergebnis="Eingabe: OK";
}
}
?>
</head>
<body>
<body>
<form action="code1.php" method="post">
<table width="80%" border="1">
<tr>
<td width="50%"><p>Regulärer Ausdruck: </td>
<td width="50%"><input name="regular_expression" value="<? echo($regular_expression);?>" size=60 maxlength=60> </td>
</tr>
<tr>
<td width="50%">Benutzereingabe:</td>
<td width="50%"><input name="user_input" value="<? echo($user_input);?>" size=60 maxlength=60</td> </td>
</tr>
<tr>
<td width="50%" align="left"> <? if (isset($_POST['ok'])) echo(" ".$ergebnis); ?> </td>
<td width="50%" align="middle"> <input type="submit" name="ok" value="Testen">
</td>
</tr>
</table>
</form>
</body>
</html>