Вопрос:
Как можно использовать preg_replace для добавления определенного атрибута ко всем тегам XML в правильно сформированном документе XML, хранящемся в виде строковой переменной? Например, вы хотите изменить следующий XML:
some text
кому:
some text
Ответ:
Хотя заманчиво использовать регулярные выражения для этой задачи, это не рекомендуется. XML не является обычным языком, и попытка использовать в нем регулярные выражения может привести к неожиданным результатам. Вместо этого мы рекомендуем использовать XML-расширения 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();
Этот метод гарантирует правильное изменение всех тегов XML, что позволяет избежать потенциальных ошибок при использовании регулярных выражений в XML.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3