PHP foreach: почему валится с ошибкой?
Вот интересно, на что вы рассчитываете, когда задаете вопрос об ошибке, но саму ошибку не показываете. Там обычно пишется текст, который, можно и нужно(!) прочесть.
И у конструкции foreach нет возвращаемого значения. Запись типа $my_var = foreach ... ошибочна уже сама по себе.
$clean = '';

foreach( $process as $value ) {
  // Здесь if(), else и т. д.
  $clean .= "<span>" . $value . "</span>";
}

return $clean;