PHP shell_exec PowerShell скрипт - экранирование специальных символов в аргументах - PullRequest
0 голосов
/ 14 октября 2019

У меня есть этот PHP-код, который выполняет скрипт PowerShell для отправки электронной почты, передавая тело в качестве аргумента. Мне удалось расставить акценты, кавычки и разрывы строк, но у меня возникли проблемы со специальными символами, такими как & "и т. Д., И я хотел бы использовать буквы с акцентом вместо буквы + кавычки, как я могу решить эту проблему?

$body=str_replace(array("à","è","ì","ò","ù"),array("a'","e'","i'","o'","u'"),$body);
$body=str_replace("'","''",$body);
$body=str_replace("\r\n","<br>",$body); $body=str_replace("<","^<",$body); $body=str_replace(">","^>",$body);
$cmd="powershell.exe send-email.ps1 <server> <from> <to> <subject> '".$body."'";
$output=shell_exec($cmd);
...