Хорошо, из вашего последнего комментария я придумал следующее:
<code>$posttype = 'Post type..:Type
Post type..:Articles
Post type..:Artists & Makers
Post type..:Videos
Post type..:In The Press
Post type..:Did You Know ?
Post type..:Glossary A - Z
Post type..:Events
Post type..:Recent Catalogs';
$posttypearray = preg_split('/(\r\n|\n|\r)/',$posttype,-1, PREG_SPLIT_NO_EMPTY);
echo "<pre>";
print_r($posttypearray);
echo "
"; $ cleanposttypearray = preg_replace ('/.*\.\.:(.*)$/','$ 1', $posttypearray); echo "
";
print_r($cleanposttypearray);
echo "
";
Вывод этого кода:
Array
(
[0] => Post type..:Type
[1] => Post type..:Articles
[2] => Post type..:Artists & Makers
[3] => Post type..:Videos
[4] => Post type..:In The Press
[5] => Post type..:Did You Know ?
[6] => Post type..:Glossary A - Z
[7] => Post type..:Events
[8] => Post type..:Recent Catalogs
)
Array
(
[0] => Type
[1] => Articles
[2] => Artists & Makers
[3] => Videos
[4] => In The Press
[5] => Did You Know ?
[6] => Glossary A - Z
[7] => Events
[8] => Recent Catalogs
)
Что означает:
- use
preg_split
с опцией PREG_SPLIT_NO_EMPTY . Это обрезает строку в массиве и автоматически сбрасывает пустые значения массива (т.е. пустые строки в $posttype
). - , затем используется
preg_replace
для сохранениятолько то, что следует ..:
. preg_replace
, применит замену, которую вы хотите, к каждому элементу массива. Не нужно зацикливаться.
Так я преобразовал ваш вход в массивкаждого типа.