Использование regexp для парсинга строки

Poster

Новичок
Всем привет

Есть строка, например
"однажды ночью кажется темнеет скоро ручка бананы сладкие кролики шоколадный заяц"

и массив готовых фраз, которые нужно выделить в этой строке
array('кажется темнеет', 'бананы сладкие', 'шоколадный заяц')

как можно получить из строки такую строку?
"однажды ночью ,кажется темнеет, скоро ручка ,бананы сладкие, кролики ,шоколадный заяц,"

то есть поймать соответствующие вхождения элементов массива в строку и реплейснуть их на тот же элемент с разделетелем?

что использовать? preg_replace?

не могу идею понять как

спасибо!
 

craz

Нестандартное звание
PHP:
$st = "однажды ночью кажется темнеет скоро ручка бананы сладкие кролики шоколадный заяц";
$ar = array('#кажется темнеет#', '#бананы сладкие#', '#шоколадный заяц#');

foreach ($ar as $a){
    $a = str_replace("#", '', $a);
    $arr[] = ",".$a.",";
}

$str = preg_replace($ar,$arr,$st);

print_r($str);
на вскидку
 

tz-lom

Продвинутый новичок
хотя можно обойтись и без регулярок
PHP:
$st = "однажды ночью кажется темнеет скоро ручка бананы сладкие кролики шоколадный заяц";
$ar = array('кажется темнеет', 'бананы сладкие', 'шоколадный заяц');
foreach ($ar as $a){
    $arr[] = ",$a,";
}
$str = str_replace($ar,$arr,$st);
print_r($str);
 
Сверху