実際の質問とは関係のない理由により、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 スクリプトは次のことを行います。
import sys
import string
dataFrom = sys.argv[1];
dataTo = sys.argv[2];
dataSourceCode = sys.argv[3];
rep = dataSourceCode.replace(dataFrom, dataTo);
print rep;
問題は、少なくとも上記の方法では、完全な html ソースを引数としてシェルに渡すことができないことです。私が理解したことから、htmlコードがシェルに渡される間、いくつかのセクションがコマンドとして解釈されます(ここでは複数行が問題になる可能性があります)。
スクリプトから受け取った出力:
sh: 開けません !DOCTYPE: そのようなファイルはありません sh: 開けません html: そのようなファイルはありません sh: 開けません head: そのようなファイルはありません sh: 開けません title: そのようなファイルはありません
...(これは続きます)
助言がありますか?