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 : Sélectionner tout - Visualiser dans une fenêtre à part
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