У меня есть следующий пример файла:PHP preg_replace дубликат строки на нескольких строках
яблоко,
вишня,
(удалить)
груша,
(удалить)
виноград,
арбуз
Я использовал следующее выражение
preg_replace('/,+/', ',', $n);
от this ответ.
Это прекрасно работает, но только если файл находится на одной линии:
apple, cherry,, pear,,...
Как продлить выражение, чтобы удалить лишние дубликаты на нескольких строках, так что файл гласит:
яблока,
вишня, груша
,
виноград, арбуз
Вот код:
foreach ($lines as $line_num => $line) {
if ($line[0] === '.') { $compare_line = $line; $compare_line = preg_replace('/,+/', ',', $compare_line); echo $compare_line; } }
если у вас есть только ограниченное количество дополнительных запятых (и вы 100% уверены), как только 2 или 3 дублей Вы можете использовать str_replace (массив (»,,,„“,,„),“ , ', $ n) быстрее. –
Покажите нам свой код. – alfasin
Это не будет больше, чем «,,» две запятые. Проблема заключается в удалении дополнительной запятой, которая стоит отдельно на новой строке. – thinkus