質問:
preg_replace を使用して特定の属性を追加するにはどうすればよいですか文字列変数として保存された整形式の XML ドキュメント内のすべての XML タグに適用しますか?たとえば、次の XML を変更するとします:
some text
to:
some text
答え:
このタスクには正規表現を使用したくなりますが、お勧めできません。 XML は正規の言語ではないため、正規表現を使用しようとすると予期しない結果が生じる可能性があります。代わりに、PHP の XML 拡張機能を使用することをお勧めします。
$xml = new SimpleXml(file_get_contents($xmlFile));
function process_recursive($xmlNode)
{
$xmlNode->addAttribute('attr', 'myAttr');
foreach ($xmlNode->children() as $childNode)
{
process_recursive($childNode);
}
}
process_recursive($xml);
echo $xml->asXML();
このメソッドは、すべての XML タグが適切に変更されることを保証し、XML で正規表現を使用する際の潜在的な落とし穴を回避します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3