Intereting Posts
Запись сериализованных значений многомерного массива в файл с помощью ключевого пути Используйте PHP и MySQL для добавления изображений в галерею Как использовать AWS SQS / SNS в качестве push-очереди уведомлений для задач большой обработки через PHP? Как заменить переменную в запросе get в PHP? codeigniter: передать массив из контроллера для просмотра Где я могу получить полный список событий Laravel (выпущенных основными библиотеками)? Любой достойный парсер PHP написан на PHP? PHP PREG_JIT_STACKLIMIT_ERROR – неэффективное регулярное выражение Как я могу отправить ByteArray (из Flash) и некоторые данные формы в php? Сбор данных из разных выпадающих меню php macOS Sierra, устанавливающая расширение PHP Extension Проверка, является ли строка двойной или нет Yii2: вызов функции-члена saveAs () в нуле при загрузке нескольких файлов Обходной путь для базового синтаксиса, который не анализируется Symfony2 – Пользовательский валидатор и зависимость

Как я могу удалить ведущие и завершающие символы без буквенно-цифровых символов в PHP?

Я хочу «обрезать» не буквенные символы из строки, аналогично тому, как trim() работает с пробелом.

Помогите мне преобразовать #str|ng# в str|ng .

Я могу удалить конечные не-буквенно-цифровые символы:

 $string = preg_replace('/\W+$/', '', $string); // converts `#str|ng#` to `#str|ng` 

И ведущий с:

 $string = preg_replace('/^\W+/', '', $string); // converts `#str|ng#` to `str|ng#` 

Но как я могу выполнить оба одновременно?

Попробуйте использовать такой шаблон:

 $string = preg_replace('/^\W+|\W+$/', '', $string); 

Это заменит любые символы, отличные от слов (обратите внимание, что это не включает символы подчеркивания), которые появляются либо в начале, либо в конце строки. | это чередование, которое будет соответствовать любой строке, которая соответствует либо рисунку слева, либо рисунку справа.

Если вам также необходимо удалить символы подчеркивания, используйте класс символов следующим образом:

 $string = preg_replace('/^[\W_]+|[\W_]+$/', '', $string); 

Вам не нужно регулярное выражение, используйте trim() и укажите, что нужно обрезать (по умолчанию он обрезает пробелы):

 $string = trim($string, "#"); 

Документы: http://php.net/trim