我str_replace()
在尝试在 PHP 中创建 shell 命令时遇到了函数问题。在 shell 中,当我使用制表符完成包含空格的行时,它会像这样出现:
tar cvfz destination/filename.zip source/Name\ Of\ The\+\ Folder
所以对我来说,这表示为了通过 运行这个命令exec()
,我需要替换 PHP 中字符串中的所有空格。为了解决这个问题,我正在使用
$q = str_replace(' ', '\ ' , $q);
在我的字符串解析开始时,为了将空格格式化为“\”而不是“”。我遇到的问题是,对于这个特定的文件夹,它也删除了加号,它的格式如下:
tar cvfz destination/Name\ Of\ The\ \ \ Folder.tgz source/Name\ Of\ The\ \ \ Folder
我怎样才能设置它所以str_replace()
不删除加号?从我到目前为止的有限测试中,它并没有从中删除任何内容:-, %, @, !, (, *, ), ^, =