2017-10-11 5 views
0

Comment convertir cette chaîneRechercher dans une chaîne et créer un tableau en PHP

*|text:student:required|* 

(* et | fait partie de la chaîne) dans un tableau comme celui-ci

['text' ,'student','required'] 
+1

'|' fait partie de la chaîne? –

+0

oui * | fait partie de la chaîne, le format de la chaîne est * | text: student: required | * –

+0

ok @Rehman, Découvrez la réponse. –

Répondre

2

les opérations suivantes:

$str = '*|text:student:required|*'; 
$str = preg_replace("/[|*]/", '', $str); 
$arr = explode(':', $str); 

cela supprime simplement le | ET * de la chaîne en utilisant preg_replace() et transforme la chaîne en un tableau en utilisant explode

0
$string = "*|text:student:required|"; 
$string = str_replace("*", "", str_replace("|","", $string)); 
$array = explode(':', $string); 
+0

effectivement il y a un * et | signer au début et à la fin de la chaîne –

+0

oui je sais essayer celui-ci –

2

Ici vous go:

$str = "|text:student:required|"; 
$str = trim($str,"|"); 
$str = trim($str,"*"); 
$x = explode(':',$str); 
print_r($x);die; 
+0

Votre solution est invalide. Le '*' est avant et après '|' et non vice versa. – mega6382

+0

@ mega6382, c'était sa faute de frappe. Veuillez vérifier la publication mise à jour. –

+0

Oui, mais vous coupez '|' avant '' * 'vous devriez' trim' '|' après '*'. vous devez déplacer vos lignes 2 et 3. – mega6382

1

la plus courte avec preg_split fonction:

$s = '*|text:student:required|* '; 
$result = preg_split('/[*:| ]+/', $s, -1, PREG_SPLIT_NO_EMPTY); 

print_r($result); 

La sortie:

Array 
(
    [0] => text 
    [1] => student 
    [2] => required 
)