由于与实际问题无关的原因,我需要通过PHP调用并使用一个外部脚本来对一个完整的html文档执行字符串替换。替换字符串和源代码需要通过php exec()传递到此脚本。对于本例,我使用了一个简单的python脚本来接管替换。在
PHP脚本如下所示:$source = file_get_contents("somehtmlfile.html");
$replaceString = "Some text in the HTML doc";
$replaceTo = "Some other text";
$parsedString = system("python replace.py $replaceString $replaceTo $source", $retval);
print ("Done:" .$mystring);
然后Python脚本将执行以下操作:
^{pr2}$
问题是我不能将完整的html源代码作为参数传递给shell,至少不能以上面所示的方式。据我所知,当html代码被传递到shell时,它将一些部分解释为命令(我想多行可能是一个问题)。在
我从脚本收到的输出:
不能打开!DOCTYPE:没有这样的文件
sh:无法打开html:没有此类文件
sh:无法打开head:没有这样的文件
sh:无法打开标题:没有此类文件
。。。(接着说)
有什么建议吗?在
本文探讨了PHP如何通过system()函数尝试将完整的HTML文档传递给Python脚本进行字符串替换,但遇到解析问题。作者分享了遇到的具体错误和可能原因,并寻求了在不解析命令的情况下处理HTML源代码的建议。
533

被折叠的 条评论
为什么被折叠?



