Как бы удалить все символы из строки, которая НЕ содержит: [a-zA-Z0-9\-\/_]?
[a-zA-Z0-9\-\/_]
Другими словами, я хотел бы указать, что я хочу, а не то, чего не хочу. Спасибо.
Самый простой способ:
preg_replace("/[^a-zA-Z0-9-\/_]/", '', $string);
Другой подход заключается в том, чтобы выполнить сопоставление, а затем внедрить сопоставленные значения.
попробуйте следующее
preg_replace("/[^a-zA-Z0-9-\/_]/", "", $string);
Самый короткий способ сделать это:
echo(preg_replace('~[^\w-/]~i', '', 'H#el/-l0:0.'));
Выходы:
"Hel/-l00"
Если вы хотите оставить "/" и "\"
preg_replace("/[^a-zA-Z0-9-\\\/_]/", '', $string);