Click to See Complete Forum and Search --> : collecting values in array from tags ??


PHPycho
11-26-2007, 12:02 AM
Hello forums.
Supppose i had following format in a string
$string = '<tag value="1">Name1</tag>
<tag value="2">Name2</tag>
:
:
<tag value="n">Namen</tag>';

I would like to collect those values and names in an array as
$array['name'] = array('Name1', 'Name2', .., 'Namen');
$array['value'] = array('1', '2', .., 'n');

Any suggestions and hints are warmly welcome.

UI-ZEIKVK
11-26-2007, 05:15 AM
Check this!


<?php
$string = '<tag value="1">Name1</tag><tag value="2">Name2</tag><tag value="n">Namen</tag>';

$array = array();

preg_match_all("|<[^>]+>(.*)</[^>]+>|U", $string, $out, PREG_PATTERN_ORDER);


foreach ($out[1] as $key=>$o)
$array['name'][$key] = $o;

foreach ($out[0] as $key=>$o)
{
preg_match_all('/<tag value="([^"]+)"/i', $o, $out, PREG_PATTERN_ORDER);
$array['value'][$key] = $out[1][0];
}

print_r($array);

?>



Cheers!