J'ai un problème que je n'arrive pas à résoudre...J'ai un champs textarea et je voudrai prendre tous les mots entouré de * * (Ex: J'aime aller à *Paris*).
Donc pour prendre juste le mot entouré et l'enregistrer, j'aurai voulu une expression régulière qui cherche le/les mots entourés de la phrase. Mais je n'ai rien trouvé sur ce sujet, et je ne sais pas dutout manipulé les expressions régulières.
Voici mon début de code :
<form method="POST">
<div class="form-group mt-3">
<textarea class="form-control" name="text" id="textarea">
</textarea>
</div>
<button class="btn btn-primary" name="submit">
Enregistrer
</button>
</form>
<?php
function extraireMotsDUnePhrase($text)
{
/* caractères que l'on va remplacer (tout ce qui sépare les mots, en fait) */
$aremplacer = array(",",".",";",":","!","?","(",")","[","]","{","}","\"","'"
," ");
/* ... on va les remplacer par un espace, il n'y aura donc plus dans $phrase
que des mots et des espaces */
$enremplacement = " ";
/* on fait le remplacement (comme dit ci-avant), puis on supprime les espaces de
// début et de fin de chaîne (trim) */
$sansponctuation = trim(str_replace($aremplacer, $enremplacement, $text));
/* on coupe la chaîne en fonction d'un séparateur, et chaque élément est une
// valeur d'un tableau */
$separateur = "#[ ]+#"; // 1 ou plusieurs espaces
$mots = preg_split($separateur, $sansponctuation);
return $mots;
}
if(isset($_POST['submit']))
{
$text = $_POST['text'];
$quelquesmots = extraireMotsDUnePhrase($text);
foreach($quelquesmots as $valeur)
{
echo '<p>'.$valeur.'</p>';
if(preg_match('#............#', $valeur))
{
.............
}
}
}
?>
$text = "J'aime aller à *Paris*";
preg_match_all('~\*([[:alpha:]]+)\*~u', $text, $matches, PREG_SET_ORDER);
foreach ($matches as $match) {
echo $match[1]; // enfin traiter le mot
}
$text = "J'aime aller à *Paris*"; preg_match_all('~\*([[:alpha:]]+)\*~u', $text, $matches, PREG_SET_ORDER); foreach ($matches as $match) { echo $match[1]; // enfin traiter le mot }
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
gathergame.fr
Pas d'aide concernant le code par MP, le forum est là pour ça :)
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
gathergame.fr
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
gathergame.fr
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
gathergame.fr
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
gathergame.fr