Как вы обрезаете пробел в начале и конце каждой новой строки с помощью PHP или регулярного выражения

Как вы обрезаете пробел в начале и в конце каждой новой строки с помощью PHP или регулярного выражения?

Например,

$text = "similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga "; 

Должно быть,

 $text = "similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga "; 

Использование регулярного выражения, безусловно, быстрее для этой задачи. Но если вам нравятся функции вложенности, это также позволит trim пробелы со всех строк:

 $text = join("\n", array_map("trim", explode("\n", $text))); 
 <textarea style="width:600px;height:400px;"> <?php $text = "similique sunt in culpa qui officia deserunt mollitia animi, id est laborum et dolorum fuga "; echo preg_replace("/(^\s+|\s+$)/m","\r\n",$text); ?> </textarea> 

Я добавил testarea, чтобы вы могли ясно видеть новые строки

1-е решение:

Разделите свою исходную строку символом новой строки с помощью explode , используйте обрезку для каждого токена, а затем перестройте исходную строку …

Второе решение:

Замените это регулярное выражение \ s * \ n \ s * на \ n с помощью preg_replace .

Вы можете использовать любой горизонтальный символ пробельного символа и функцию preg_replace чтобы заменить их ничем:

 $text = trim(preg_replace('/(^\h+|\h+$)/mu', '', $text)); 

Если вам нужно сохранить пробел в файле ned remove trim или заменить на функцию ltrim

Здесь другое регулярное выражение, которое обрезает пробел при начале конца каждой строки.

 $text = preg_replace('/^[\t ]+|[\t ]+$/m', '', $text); 

См. Модификатор / m

Решение Марио работает хорошо (спасибо за то, что марио – спасли мой день). Может быть, кто-нибудь может объяснить, почему, почему мои более поздние проверки кросс-платформенных совместимых разрывов строк, такие как

  (strstr($text, PHP_EOL)) 

до FALSE, даже когда разрыв строки существует.

Во всяком случае, изменение «\ n» на PHP_EOL исправило проблему:

  $text = join(PHP_EOL, array_map("trim", explode(PHP_EOL, $text)));