Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Удаление пустых строк с пробелами
 
 автор: Sharax   (20.08.2014 в 18:55)   письмо автору
 
 

Всем привет!
Курлом забираю файл с одного сайта, там много пустых строк, но стоки не совсем пустые, в них содержатся пробелы, поэтому

$text = str_replace("\n\n", "\n", $text);

не работает.


Подскажите как удалить пустую строку даже если в ней есть 1 и более пробелов?

  Ответить  
 
 автор: mihdan   (20.08.2014 в 23:54)   письмо автору
 
   для: Sharax   (20.08.2014 в 18:55)
 

Ну так и заменяйте пробелы:


<?php
$text 
str_replace("  "" "$text);
?>

  Ответить  
 
 автор: confirm   (21.08.2014 в 08:13)   письмо автору
 
   для: Sharax   (20.08.2014 в 18:55)
 

Если удалить все пробелы (в ней есть 1 и более пробелов), то получите непрерывную строку символов без пробелов.
Поэтому, если надо удалить лишние пробелы, то шаблоном '/\s{2,}/' для preg_replace замените их на ''.
Если нужно сохранить как есть, удалив только пустые строки, то:

<?
$text 
implode("\n"preg_split("/\n|\r\n/"$textnullPREG_SPLIT_NO_EMPTY));
//правда при варианте выше будут сохранены строки содержащие табуляцию
//то есть пустые только визуально
//поэтому как вариант так
$text implode("\n"array_diff(array_map('trim'preg_split("/\n|\r\n/"$textnullPREG_SPLIT_NO_EMPTY)), array('')));

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования