Как редактировать или заменить строку XML с помощью php?
Я должен был изменить свой вопрос на простой вопрос
Например: мое имя файла XML: ABC.xml
внутри этого XML-файла:
<li class="thumb"><a class="Alibaba" href="google.com"></a></li>
Итак, вот мой вопрос: как использовать PHP для поиска строки внутри ABC.xml и найти имя Alibaba, заменить его на имя AlibabaColor и сохранить его в ABC.xml
Пожалуйста, ведите меня и приведите пример для этого. Спасибо
1 ответ
Вы можете сделать это используя php str_replace среди многих других функций. Вот пара примеров ->
Если XML уже находится в строке, вы можете сделать это
PHP:
<?php
$myXmlString = str_replace('Alibaba', 'AlibabaColor', $myXmlString);
?>
Если вам нужно получить данные XML из другого файла, есть несколько способов сделать это в зависимости от того, хотите ли вы сохранить их, просто замените их и отобразите, или действительно, что вы делаете. Отчасти это сводится к предпочтениям.
Просто нужно отобразить это?
<?php
$xml = file_get_contents(/path/to/file); // or http://path.to/file.xml
$myXmlString = str_replace('Alibaba', 'AlibabaColor', $xml);
?>
Нужно изменить сам файл?
<?php
$xml = file_get_contents(/path/to/file); // or http://path.to/file.xml
$myXmlString = str_replace('Alibaba', 'AlibabaColor', $xml);
file_put_contents(/path/to/file, $myXmlString);
?>
-
Чтобы ответить на комментарий ниже, вот рабочий код с моего сервера ->
XML:
<li>hello</li>
PHP:
$file = '/home/username/public_html/xml.xml';
$xml = file_get_contents($file);
$text = str_replace('hello','world',$xml);
file_put_contents($file, $text);
xml.xml после:
<li>world</li>
Не забывайте менять имя пользователя на правильное или использовать полное доменное имя, если вам удобнее. Убедитесь, что файл имеет разрешение на запись в сценарий.