删除两个单词之间的所有bug字符串

时间:2014-06-08 18:17:33

标签: php xml string formatting filtering

我有一个生成文字的脚本。我需要删除所有重复的文本块。字符串是xml格式,因此我可以使用开始和结束标记来确定字符串的位置。我一直在使用substr_replace删除不必要的文本......但是,只有当我知道文本将出现在字符串中的次数时,这才有效。示例:

<container>
  <string1>This is the first string.</string>
  <string2>This is the second string.</string>
  <stuff>This is the important stuff.</stuff>
</container>

该容器可能出现一次,两次六次,七次,无论如何。关键是,只需要在字符串变量中出现一次就足够了。现在这就是我正在做的事情。

$where_begin = strpos($wsman_output,'<container');
$where_end = strpos($wsman_output,"</container>");
$end_length = strlen("</Envelope>");
$attack = $where_end - $where_begin;
$attack = $attack + $end_length;
$wsman_output = substr_replace($wsman_output,"",$where_begin,$attack);

每次容器存在时我都会这样做......但是,我发现它并不总是一样的......这真的让事情变得混乱。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

最后我决定使用建议的方法here

我从变量中提取了我想要的每个字符串块,然后按所需顺序将它们组合在一起。