Как убрать пустые строки в php?

Пользователь

от sylvester , в категории: PHP , 2 года назад

Как убрать пустые строки в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от dmitrypro77 , 2 года назад

@sylvester используйте array_filter() функцию чтобы убрать пустые строки из любого массива на PHP:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<?php

$arr = [
    'тест',
    25,
    '',
    'test',
    '',
];

print_r(array_filter($arr));

// Вывод:
//Array
//(
//    [0] => тест
//    [1] => 25
//    [3] => test
//)


Всегда открыт для интересных проектов. Ссылки на мои соц. сети в профиле.

Пользователь

от jaylen.trantow , 8 месяцев назад

@sylvester 

Существует несколько способов убрать пустые строки в PHP. Вот несколько из них:

  1. Использование функции preg_replace() с регулярным выражением:
1
2
$str = preg_replace('/^s*
/m', '', $str);


  1. Использование функции preg_replace() с регулярным выражением и флагами:
1
$str = preg_replace('/^h*+/m', '', $str);


  1. Использование функции trim() для удаления лишних пробелов и функции implode() для объединения строк в массиве:
1
2
3
4
5
$lines = explode("
", $str);
$lines = array_filter($lines, 'trim');
$str = implode("
", $lines);


  1. Использование функции array_filter() с функцией обратного вызова, чтобы удалить пустые строки:
1
2
3
4
5
6
7
$lines = explode("
", $str);
$lines = array_filter($lines, function($line) {
    return trim($line) !== '';
});
$str = implode("
", $lines);


Выберите подходящий способ в зависимости от ваших потребностей и предпочтений.

Пользователь

от cierra , 7 месяцев назад

@sylvester 

Чтобы удалить пустые строки из строки в PHP, вы можете использовать функцию preg_replace() с регулярным выражением. Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
$string = "Это
строка
с пустыми

строками.";

$pattern = "/(^[
]*|[
]+)[s	]*[
]+/";
$replacement = "";

$result = preg_replace($pattern, $replacement, $string);

echo $result;


Этот код удалит все пустые строки из $string и выведет:

1
2
3
4
Это
строка
с пустыми
строками.


Регулярное выражение /(^[ ]*|[ ]+)[s ]*[ ]+/ ищет пустые строки, включая строки, состоящие только из пробела или символов табуляции. Затем функция preg_replace() заменяет найденные строки на пустую строку.