Afficher occurrences d'un preg_match_all

Résolu/Fermé
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021 - 30 janv. 2021 à 12:51
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 30 janv. 2021 à 13:16
Bonjour,

Je cherche à afficher les occurrences d'un
preg_match_all
mais je n'y arrive pas. Il s'agit d'un
pattern
qui recherche des caractères spéciaux dans un champs de formulaire.

<?php
preg_match_all('#^-|-$|[-]+[-]+|\.+|,+|;+|:+|[\']+[\']+|"+|\!+|\?+|«+|»+|<+|>+|\{+|\}+|\[+|\]+|\(+|\)+|/+|\|+|\\\+|_+|=+|\++|\#+|£+|\$+|&+|§+|%+|@+|¤+|\*+|[0-9]+| +#', $_POST['registration_firstName'], $chars);
$i_while = 1;
$i = 0;
while ($i_while <= count($chars)) {
	echo $chars[$i].'<br />';
	$i_while++;
	$i++;
}
?>


Il m'affiche un
Array to string conversion
.

J'ai aussi essayé avec un
foreach
, ça fonctionne à moitié, il ne m'affiche que la première occurrence trouvée.

<?php
foreach ($chars as $chars) {
	echo $chars[$i].'<br />';
	$i++;
}
?>


Configuration: Windows / Firefox 72.0
A voir également:

3 réponses

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
30 janv. 2021 à 12:55
Bonjour

Commence par faire un var_dump($chars);

Et montre-nous le résultat obtenu..
1
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021
30 janv. 2021 à 12:57
Voilà :
array (size=1)
  0 => 
    array (size=3)
      0 => string '*' (length=1)
      1 => string '_' (length=1)
      2 => string '$' (length=1)
0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
30 janv. 2021 à 13:13
Comme tu peux le voir c'est un array d'array

foreach ($chars as $c) {
	print_r( $c);
}

0
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024
30 janv. 2021 à 13:16
foreach ($chars as $c) {
foreach( $c as $x){
  echo $x . '<br>';
}
 
}
0
YameFAZE Messages postés 201 Date d'inscription mardi 24 avril 2012 Statut Membre Dernière intervention 14 mars 2021
30 janv. 2021 à 13:11
J'ai trouvé tout seul. Grâce à ton
var_dump
. En fait
$chars
est un tableau à double dimension. En faisant simplement
echo $chars[0].' ';
ça fonctionne. Merci pour ton aide. Je marque en résolut.
0