2013-07-02 6 views
1

Каков наилучший способ удалить все не буквенно-цифровые символы из начала и конца строки?Как обрезать специальные символы с PHP?

~~STRING~~ => STRING 
"STRING" => STRING 
**STRING** => STRING 
**STR**ING** => STR**ING 
+1

'подрезать()' имеет второй параметр, который позволяет указать, какие символы удалить –

+0

Да, я извиняюсь - я не читал внимательно. – Voitcus

+0

поддельный дубликат top btw. – pie6k

ответ

3

Вы можете использовать:

$repl = preg_replace('#^\W+|\W+$#', '', $str) 
+3

Это также удаляет их из середины. – Barmar

+0

@Barmar: Исправлено. – anubhava

+0

'\ w' включает' \ d', поэтому вам не нужно указывать их в классе. – Barmar

2

trim($string, $charlist) должен сделать трюк.

+1

Для этого необходимо указать все символы, отличные от алфавитно-цифровых символов, в '$ charlist'. – Barmar

+1

Необходимо подготовить длинный список не алфавитно-цифровых списков. – anubhava

1
$str = preg_replace('/^\W*(.*\w)\W*$/', '$1', $str); 
+0

Сделал трюк. благодаря – pie6k

Смежные вопросы