Я пытаюсь перенести скрипт, который я написал в bash некоторое время назад, в PHP. Одна конкретная строка о экранировании всех не алфавитно-цифровых символов.
В bash я смог сделать это как однострочник следующим образом:
echo "aaa bbb::" | sed 's/\([^a-zA-Z0-9]\)/\\\1/g'
# => aaa\ bbb\:\:
Самое близкое, что я получил в PHP, было с:
echo preg_replace('/([^a-zA-Z0-9])/','\\\','aaa bbb::');
# => aaa\bbb\\
Однако я изо всех сил пытаюсь повторно использовать мою группу регулярных выражений внутри preg_replace
(я пробовал \ 1 и $ 1).
Может кто-нибудь помочь мне разобраться в этом однострочном PHP, пожалуйста?