Я бы лично использовал preg_split
, чтобы избавиться от того дополнительного элемента массива, который должен был бы появиться из последней точки с запятой ...
$newarray = array();
foreach ($array as $i => $styles):
// Split the statement by any semicolons, no empty values in the array
$styles = preg_split("/;/", $styles, -1, PREG_SPLIT_NO_EMPTY);
// Add the semicolon back onto each part
foreach ($styles as $j => $style) $styles[$j] .= ";";
// Store those styles in a new array
$newarray[$i] = $styles;
endforeach;
Редактировать: Не добавляйте точку с запятой в каждую строку:
$newarray = array();
foreach ($array as $i => $styles):
// Split the statement by any semicolons, no empty values in the array
$newarray[$i] = preg_split("/;/", $styles, -1, PREG_SPLIT_NO_EMPTY);
endforeach;
Что должно вывести:
Array(
[0] => width: 650px;
[1] => border: 1px solid #000;
)
В отличие от разнесения, которое должно вывести:
Array(
[0] => width: 650px;
[1] => border: 1px solid #000;
[2] => ;
)