Как можно удалить пробелы и невидимые символы в начале и конце строки?

Как можно удалить лишние символы из строки, в которой сначала находятся возврат каретки, затем перевод строки, после этого пробелы и текст? Я пробовал использовать функции, такие как trim(), а также регулярные выражения, например: 
<blockquote> '/^\s+/'</blockquote> 
<blockquote>'/^[\s\x{00A0}]+/u'</blockquote> 
<blockquote>'/^[\s\x{00A0}]+|[\s\x{00A0}]+$/u'</blockquote> 
Однако они не работают. Если визуализировать непечатные символы в тексте, он выглядит так: <br/>
  • 3 декабря 2024 г. 16:03
Ответы на вопрос 2
Для удаления пробелов и невидимых символов в начале и конце строки в PHP можно использовать комбинацию функции `trim()` и регулярные выражения. Однако, чтобы справиться с различными невидимыми символами, вы можете использовать подход с регулярными выражениями.

Если вы хотите удалить не только обычные пробелы, но и другие невидимые символы, такие как возврат каретки `\r`, перевод строки `\n`, другие пробелы и т.д., попробуйте следующее:

```php
$string = "\r\n    Ваш текст здесь     \r\n";

// Удаление всех невидимых символов и пробелов в начале и конце строки
$cleanedString = preg_replace('/^[\s\x00-\x1F\x7F]+|[\s\x00-\x1F\x7F]+$/u', '', $string);

echo $cleanedString;
```

В данном коде регулярное выражение `/^[\s\x00-\x1F\x7F]+|[\s\x00-\x1F\x7F]+$/u` удаляет:

- `^` и `$` - начало и конец строки соответственно.
- `[\s\x00-\x1F\x7F]+` - один или более пробельных символов, включая не видимые ASCII символы от `\x00` до `\x1F` и `DEL` (код `\x7F`).
  
Использование регулярных выражений в данном контексте позволяет более гибко подходить к проблеме, так как некоторые специальные символы могут быть не удалены простым `trim()`.

Если вы используете этот подход, вы сможете удалить большинство нежелательных символов на краях строки.
<a href="https://www.php.net/mb_trim" rel="nofollow">mb_trim()</a> <br/> нужен свежевышедший PHP 8.4, но по крайней мере там есть список символов <br/> <br/> ну и если в тексте есть html-сущности типа <code>&amp;nbsp;</code> или <code>&amp;#160;</code> , то они меняются отдельно
Похожие вопросы