string to array

VaN
Mammouth du PHP | 1107 Messages

07 avr. 2011, 13:19

Bonjour,

j'ai le string suivant :
$str = '<option id="united_states" value="United States">United States</option><option id="_afghanistan" value="Afghanistan"> Afghanistan</option><option id="_albania" value="Albania"> Albania</option><option id="_algeria" value="Algeria"> Algeria</option><option id="_american_samoa" value="American Samoa"> American Samoa</option><option id="_andorra" value="Andorra"> Andorra</option><option id="_angola" value="Angola"> Angola</option><option id="_anguilla" value="Anguilla"> Anguilla</option>';
je cherche une solution pour au final, me retrouver avec le tableau suivant :
Array('United States', 'Afghanistan', 'Albania', 'Algeria', [etc]);
Comment puis-je m'y prendre ?

ViPHP
ViPHP | 2577 Messages

07 avr. 2011, 14:00

Bonjour,

Une bouche
$fin=0;
while ($debut=strpos($str,'">',$fin) // pour trouver le "> de <option ....">
{
$fin = strpos($str,'</',$debut) ; // pour trouver le </ de </option>
$tableau[]=substr($str,$debut,$fin-$debut);
}

Peut être un réglage à faire sur le substr()

Mammouth du PHP | 672 Messages

07 avr. 2011, 15:01

Bonjour.

Tu peux aussi voir du côté des expressions régulières, comme preg_split()...

ViPHP
ViPHP | 5462 Messages

07 avr. 2011, 15:04

pour parser du HTML c'est avec DOMDocument
si c'est pour piquer un formulaire sur un autre site, y'a des service qui propose d'importer tout les pays (google part exemple)