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

  • Автор темы Автор темы Poster
  • Дата начала Дата начала

Poster

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

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

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

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

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

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

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

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

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

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

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