разбиване на част от селект

embaka

Registered
здравейте,

по какъв начин да надробя ето това
Код:
<option value="1224">сребристо-тъмно син (10.15лв.)</option><option value="1195">сребристо-жълт (10.15лв.)</option><option value="1194">сребристо-син (10.15лв.)</option><option value="1090">сребристо-черен (10.15лв.)</option>

имам доста записи и ми трябва да взема името и цената без лева и скобички
 
Кода:
<?php
header("Content-Type:text/html; charset=windows-1251");
$STRING = <<<EOF
<option value="1224">сребристо-тъмно син (10.15лв.)</option><option value="1195">сребристо-жълт (10.15лв.)</option><option value="1194">сребристо-син (10.15лв.)</option><option value="1090">сребристо-черен (10.15лв.)</option>
EOF;
preg_match_all("/<[^>]+>(.*?)\ \((.*?)\)<[^>]+>/si", $STRING, $matches, PREG_SET_ORDER);
echo "<pre>";
print_r($matches);
echo "</pre>";
?>
Резултата:
Array
(
[0] => Array
(
[0] => сребристо-тъмно син (10.15лв.)
[1] => сребристо-тъмно син
[2] => 10.15лв.
)

[1] => Array
(
[0] => сребристо-жълт (10.15лв.)
[1] => сребристо-жълт
[2] => 10.15лв.
)

[2] => Array
(
[0] => сребристо-син (10.15лв.)
[1] => сребристо-син
[2] => 10.15лв.
)

[3] => Array
(
[0] => сребристо-черен (10.15лв.)
[1] => сребристо-черен
[2] => 10.15лв.
)

)
Значи всяка двойка име на стоката-цена е:
echo $matches[0][1]."-".$matches[0][2];
 
emagi каза:
Кода:
<?php
header("Content-Type:text/html; charset=windows-1251");
$STRING = <<<EOF
<option value="1224">сребристо-тъмно син (10.15лв.)</option><option value="1195">сребристо-жълт (10.15лв.)</option><option value="1194">сребристо-син (10.15лв.)</option><option value="1090">сребристо-черен (10.15лв.)</option>
EOF;
preg_match_all("/<[^>]+>(.*?)\ \((.*?)\)<[^>]+>/si", $STRING, $matches, PREG_SET_ORDER);
echo "<pre>";
print_r($matches);
echo "</pre>";
?>
Резултата:
Array
(
[0] => Array
(
[0] => сребристо-тъмно син (10.15лв.)
[1] => сребристо-тъмно син
[2] => 10.15лв.
)

[1] => Array
(
[0] => сребристо-жълт (10.15лв.)
[1] => сребристо-жълт
[2] => 10.15лв.
)

[2] => Array
(
[0] => сребристо-син (10.15лв.)
[1] => сребристо-син
[2] => 10.15лв.
)

[3] => Array
(
[0] => сребристо-черен (10.15лв.)
[1] => сребристо-черен
[2] => 10.15лв.
)

)
Значи всяка двойка име на стоката-цена е:
echo $matches[0][1]."-".$matches[0][2];

:) златен си, благодаря ти, аз се мъчих с explode да го правя това
 

Back
Горе