我使用exec
函数从PHP脚本调用python脚本。Python向标准输出写入两个字符串,这是我在PHP脚本中需要的。问题是,在这些字符串中可能是行尾字符'n
(因此形式上输出中有许多行),并且根据exec
手动数组$output
将包含有什么优雅的方法可以转义'n
字符,使$output
只包含我想要的两个字符串,而不需要对这两个字符串进行后期处理?
编辑:我可以更改python脚本。
以易于解析的格式(如JSON)打印输出,并从PHP进行解析。例如,代替:
print foo
print bar
使用类似的东西
import json
print json.dumps([foo, bar])
您从PHP读取JSON输出,并使用json_decode($output)
将其解码为所需的数组。
除了更改python脚本的输出方式之外,您真的对此无能为力。
不过,清除返回的数据确实很容易。
exec('yourcommand', $array);
array_walk($array, function($value, $key) {
return trim($value);
});