2012-11-01 3 views
4
$date could be "23/09/2012" or "23-09-2012" or "23\09\2012" 
preg_split('/[\/\-\\]/', $date); 

Vous ne savez pas pourquoi PHP garder lancer missing terminating ] error?La compilation a échoué: manquant se terminant] pour la classe

+0

avez-vous besoin pour échapper à des traits d'union? –

+0

@Xin Old regex présentait une erreur. Veuillez voir la réponse mise à jour. Désolé pour ça. –

Répondre

8
preg_split('/[\/\-\\]/', $date); 
        ^escaping the closing ']' 

Effectuez les opérations suivantes au lieu, pour éliminer toute ambiguïté

preg_split('/[\/\-\\\\]/', $date); 

Il n'y a pas besoin d'échapper -, mais vous pouvez utiliser \- aussi bien.


code:

$date = 'as\sad-s/p'; 
$slices = preg_split('/[\/\-\\\\]/', $date); 
print_r($slices); 

Sortie:

Array ([0] => as [1] => sad [2] => s [3] => p) 
+0

@Xin Chen: Il y avait une erreur dans ma regex, à cause de laquelle elle ne se séparait pas en '\\'. Veuillez voir la réponse mise à jour. –

Questions connexes