Как удалить несколько пустых строк из строки. Я посмотрел примеры на stackoverflow и попытался изменить свой код соответственно, но я не получаю правильный ответ.
function removeMultipleBlankLines(&$array) { $value = $array; $value = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $value); return $value; } $textarray=array("The red","big"," "," ","fox","is ready","","","to jump."); echo print_r(removeMultipleBlankLines($textarray));
Ты можешь сделать:
$array_with_nonblank_lines = array_filter($textarray, 'trim');
чтобы получить именно то, что вы хотите.
Вот ссылка на страницу документов php о функции trim
, которая выполняет эту работу.
почему бы не $string = trim($string);
?
вы можете даже указать, что вы хотите trim ( string $str [, string $charlist ] )
вторым необязательным параметром, то есть trim ( string $str [, string $charlist ] )
см. в документах http://php.net/manual/en/function.trim.php
также наденьте на него отделку:
function removeMultipleBlankLines(&$array) { return trim(preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $array)); }
Использование регулярных выражений работает, но некоторые люди, незнакомые с регулярными выражениями, могут запутаться в том, как вы выкладываете свое выражение. По-моему, использование знакомой команды trim – это лучший выбор, но в конце концов я думаю, что обрезка будет быстрее, потому что не нужно оценивать регулярное выражение и т. Д.
Попробуй это:
$str =preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\r\n", $str);
Выходной файл даст тот же вывод в простой блокноте, а также в текстовых редакторах, например Notepad ++.
попробуй это:
$string = str_replace("\r\n",'',$string);