Как насчет вызова вашего скрипта с real символами новой строки:
$ php temp.php "Some Message With Newlines
> Hello World.
> "
С temp.php
, содержащим это:
var_dump($argv[1]);
Получает мне следующий вывод:
string(40) "Some Message With Newlines
Hello World.
"
Редактировать: другое решение может состоять в том, чтобы использовать что-то подобное для вызова вашего PHP-скрипта:
$ echo -e "Some Message With Newlines\nHello World.\n" | php temp.php
И измените ваш PHP-скрипт так, чтобы он читался с stdin
, вместо $argv
:
var_dump(file_get_contents('php://stdin'));