Преобразовать строку

Рейтинг: 0Ответов: 1Опубликовано: 18.02.2015
echo $file_contents;

На выходе так:

строка 1 - пустая строка

строка 2 - key 1, key 2, key 3, key 4, key 5

Example

1 - тут пустая строка
key 1, key 2, key 3, key 4, key 5

Как преобразовать строку в такой вид:

<li>key 1</li>
<li>key 2</li>
<li>key 3</li>
<li>key 4</li>
<li>key 5</li>

Также нужно убрать первую, пустую строку. ((

Обновление

curl_setopt ($ch, CURLOPT_URL, 'http://test.com/?key='.$keys2); //Просто пример

curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file_contents = curl_exec($ch);

curl_close($ch);

$file_contents = strip_tags($file_contents);

$file_contents = str_replace('["'.$keys2.'",[','',$file_contents);

$file_contents = str_replace(']]','',$file_contents);

$file_contents = str_replace('"','',$file_contents);

$file_contents = str_replace('['.$keys2.',','',$file_contents);

$file_contents = str_replace('[','',$file_contents);

echo $file_contents;

Ответы

▲ 1

Можно использовать более гибкий подход применяя regex-ы: есть возможность отследить пробельные символы (пробелы, перенос строк,...) до и после запятой.

$content = 'chris kyle and keyser soze,john key, milton keynes ,keyboard symbols glossary,
key west all inclusive resorts,free product key codes,list of all keyboard symbols,typing keyboard lessons,
window 7 product key free,florida keys vacation packages';

$result = preg_replace('/\s*([^,]+)\b\s*,?/', "<li>$1</li>\n", trim($content));

print_r($result);

Смотрите результат.

За универсальность и короткую запись частенько приходится платить производительностью, т.е. применение строковых функций является приоритетным. Правда, в данном конкретном примере разница едва заметна.

Мой вариант с preg_replace.

Вариант, предложенный @Deonis.