Détecter la caractère NULL
bonsoir,
premiers pas avec les regex, je bute sur la detection du caractere NULL dans une chaine (il y a d'autres chaines du meme format à la suite mais pour le moment, je teste uniquement sur la premiere chaine)
voici la chaine (provient d'un email), je la copie-colle ds un TEXTAREA
[Event "FICS rated standard game"]
- j'enleve les guillemets (str_replace)
- j'enleve le retour chariot
- je cree un regex qui doit detecter la seule presence de:
- lettres (majuscules, minuscules)
- le caractere "espace"
- le [
- le ]
- le caractere NULL
Voici la condition avec le regex:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
if(!preg_match_all("#[a-zA-Z\\040\\[\\]]#", $tab_partie_02[0][$b], $test)) {
if(isset($erreur_tags) || !empty($erreur_tags)) {
$erreur_tags.= "<br>";
$erreur_tags.= "<strong>";
$erreur_tags.= "Presence de caractere(s) inutile(s) dans le TAG ".(1).", caractere ".($b+ 1).": ".ord($tab_partie_02[0][$b]);
$erreur_tags.= "</strong>";
}
else {
$erreur_tags= "<strong>";
$erreur_tags.= "Presence de caractere(s) inutile(s) dans le TAG ".(1).", caractere ".($b+ 1).": ".ord($tab_partie_02[0][$b]);
$erreur_tags.= "</strong>";
}
} |
dans ce regex, je ne sais pas definir la recherche de NULL.
le: ord($tab_partie_02[0][$b]
affiche
Presence de caractere(s) inutile(s) dans le TAG 1, caractere 33: 0
c'est la valeur ASCII decimale du caractere NULL
j'ai bien essaye
\\000
\000
\\x00
\x00
sans doute qques autres aussi.
Aucun succes.
j'essaye alors de detecter le NULL, grace a ord(), et de faire un str_replace mais cela ne fonctionne pas non plus.
Si vous avez l'explication s'il vous plait.
Merci
areuh