Str替换XML标记中的值

时间:2019-03-19 10:34:09

标签: php

我想使用PHP的 str_replace 函数替换此标记中的值:

<address2>Replace this value</address2>

执行此操作的最佳方法是什么?

3 个答案:

答案 0 :(得分:1)

尝试一下:

$nodeAdresseValue = str_replace("%value%", "your value", "<address2>%value%</address2>");

答案 1 :(得分:0)

请勿在XML上使用字符串函数,而应使用DOMDocument,它将帮助您更轻松地解析XML,下面是示例代码DEMO

<?php

$string = "<address2>Replace this value</address2>";
$domDocument = new DOMDocument();
$domDocument->loadXML($string);
$address2Elements = $domDocument->getElementsByTagName('address2');
foreach ($address2Elements as $address2) {
        $address2->nodeValue = "Value Replaced";

}

var_dump($domDocument->saveXML());

输出:

string(58) "<?xml version="1.0"?>
<address2>Value Replaced</address2>
"

答案 2 :(得分:0)

$search  = "/[^<address2>](.*)[^<\/address2>]/";
$replace = "replace with me";
$string  = "<address2>Replace this value </address2>";
echo preg_replace($search,$replace,$string);

这将与文本无关,即使您不知道标签内的值也将起作用