par
Cyrano » 06 mai 2005, 10:53
Tiens, pour mon propre apprentissage, je me suis fait une patite page de test, je te la met telle quelle, copie, colle dans un nouveau fichier, enregistre et teste autant que tu veux mais reviens me dire si ça ne fonctionne pas chez toi :
à tout hasard, vérifie dans ton phpinfo sur ta config supporte les regex PCRE
<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<!-- Date de création: 02/05/2005 -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Masques de saisie PCRE</title>
</head>
<body>
<?php
if(isset($_POST['envoi']))
{
$masque = $_POST['masque'];
$mot = $_POST['mot'];
/*
$in1 = "#((?:https?|ftp)://\S+)(\s|\z)#";
$in2 = "#((?:<!//)(www\.)\S+)(\s|\z)#";
echo("<code>". $in1 ."</code><br />\n");
echo("<code>". $in2 ."</code>\n");
$masque = "`(((https?|ftp)://(w{3}\.)?)(?<!www)(\w+-?)*\.([a-z]{2,4}))`";
*/
echo("<pre>");
var_dump($masque);
echo("</pre>\n");
if(preg_match($masque,$mot))
{
?>
<p>Le mot "<?php echo($mot); ?>" est conforme au masque saisi.</p>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<fieldset>
<legend>Saisissez une expression et un mot pour comparer</legend>
<label>Le masque : <input type="text" name="masque" id="masque" value="" /></label>
<label>Le mot : <input type="text" name="mot" id="mot" value="" /></label>
<input type="submit" name="envoi" id="envoi" value="Soumettre" />
</fieldset>
</form>
<?php
}
else
{
?>
<p>Le mot "<?php echo($mot); ?>" est invalide par rapport au masque saisi.</p>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<fieldset>
<legend>Saisissez une expression et un mot pour comparer</legend>
<label>Le masque : <input type="text" name="masque" id="masque" value="<?php echo($masque); ?>" /></label>
<label>Le mot : <input type="text" name="mot" id="mot" value="<?php echo($mot); ?>" /></label>
<input type="submit" name="envoi" id="envoi" value="Soumettre" />
</fieldset>
</form>
<?php
}
}
else
{
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<fieldset>
<legend>Saisissez une expression et un mot pour comparer</legend>
<label>Le masque : <input type="text" name="masque" id="masque" value="" /></label>
<label>Le mot : <input type="text" name="mot" id="mot" value="" /></label>
<input type="submit" name="envoi" id="envoi" value="Soumettre" />
</fieldset>
</form>
<?php
}
?>
</body>
</html>
Bon code

Tiens, pour mon propre apprentissage, je me suis fait une patite page de test, je te la met telle quelle, copie, colle dans un nouveau fichier, enregistre et teste autant que tu veux mais reviens me dire si ça ne fonctionne pas chez toi :
à tout hasard, vérifie dans ton phpinfo sur ta config supporte les regex PCRE
[php]<?php
echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<!-- Date de création: 02/05/2005 -->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Masques de saisie PCRE</title>
</head>
<body>
<?php
if(isset($_POST['envoi']))
{
$masque = $_POST['masque'];
$mot = $_POST['mot'];
/*
$in1 = "#((?:https?|ftp)://\S+)(\s|\z)#";
$in2 = "#((?:<!//)(www\.)\S+)(\s|\z)#";
echo("<code>". $in1 ."</code><br />\n");
echo("<code>". $in2 ."</code>\n");
$masque = "`(((https?|ftp)://(w{3}\.)?)(?<!www)(\w+-?)*\.([a-z]{2,4}))`";
*/
echo("<pre>");
var_dump($masque);
echo("</pre>\n");
if(preg_match($masque,$mot))
{
?>
<p>Le mot "<?php echo($mot); ?>" est conforme au masque saisi.</p>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<fieldset>
<legend>Saisissez une expression et un mot pour comparer</legend>
<label>Le masque : <input type="text" name="masque" id="masque" value="" /></label>
<label>Le mot : <input type="text" name="mot" id="mot" value="" /></label>
<input type="submit" name="envoi" id="envoi" value="Soumettre" />
</fieldset>
</form>
<?php
}
else
{
?>
<p>Le mot "<?php echo($mot); ?>" est invalide par rapport au masque saisi.</p>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<fieldset>
<legend>Saisissez une expression et un mot pour comparer</legend>
<label>Le masque : <input type="text" name="masque" id="masque" value="<?php echo($masque); ?>" /></label>
<label>Le mot : <input type="text" name="mot" id="mot" value="<?php echo($mot); ?>" /></label>
<input type="submit" name="envoi" id="envoi" value="Soumettre" />
</fieldset>
</form>
<?php
}
}
else
{
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post">
<fieldset>
<legend>Saisissez une expression et un mot pour comparer</legend>
<label>Le masque : <input type="text" name="masque" id="masque" value="" /></label>
<label>Le mot : <input type="text" name="mot" id="mot" value="" /></label>
<input type="submit" name="envoi" id="envoi" value="Soumettre" />
</fieldset>
</form>
<?php
}
?>
</body>
</html>[/php]
Bon code :)