Pergunta:
Como você pode usar preg_replace para adicionar um atributo específico para todas as tags XML em um documento XML bem formado armazenado como uma variável de string? Por exemplo, você deseja modificar o seguinte XML:
some text
para:
some text
Resposta:
Embora seja tentador usar expressões regulares para esta tarefa, não é aconselhável. XML não é uma linguagem regular e a tentativa de usar expressões regulares nela pode levar a resultados inesperados. Em vez disso, recomendamos usar as extensões XML do PHP:
$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();
Este método garante que todas as tags XML sejam modificadas corretamente, evitando as possíveis armadilhas do uso de expressões regulares em XML.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3