On Sun, 14 Mar 2010 22:02:22 +0800, Ashley Sheridan wrote:

On Sun, 2010-03-14 at 21:58 +0800, Dasn wrote:

Hello, I want to convert some xml stuff to simple string using php, say:


$string = <<<XML
<a> left <foo>center1<ok>ok</ok>center2</foo>right </a>

$xml = simplexml_load_string($string);
echo $xml;
The code will output "left right" while all the central stuff was lost.
How should I print it as "left center1 ok center2 right" ?

Thanks in advance, and please Cc me. :)

Can't you just call strip_tags() on the string? As you don't need to
echo any attribute values, I would have thought it would be perfect. As
XML is meant to be well-formed anyway, strip_tags shouldn't cause any
problems with broken or missing closing tags.

Thanks Ashley for your reply.
Sorry that my description was not clear enough.
Actually I don't want to just strip the tags, sometimes I also wanna change some elements. For another example: "<a>bla<function>strip_tags</function>bla</a>". When output, I also want to make some change to the data depending on the tags, say, trying to append a pair of "()" to the "<function>" element, printing it as "bla strip_tags() bla". The problem is when I processing the nodes with SimpleXML, I couldn't get the right order of the data. That is : "echo $xml->a, (string) $xml->a->function . '()'" // prints "bla bla strip_tags()"

Thank you anyway. Cc please.


PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to