Re: [PHP] SimpleXML: convert xml to text
[email protected] (Dasn)
| Newsgroups | php.general |
|---|---|
| Organization | G |
| Message-ID | <op.u9kwkrxiiztdz5@bla> |
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: >> >> <?php >> >> $string = <<<XML >> <a> left <foo>center1<ok>ok</ok>center2</foo>right </a> >> XML; >> >> $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. -- Dasn