Jump to content

Simple xml2array that PRESERVES HTML


lwc

Recommended Posts

The following code is relatively short, but censors any HTML tags inside the XML:

 

function object2array($object) // from php.net 
{  
    $return = NULL;  
        
    if(is_array($object))  
    {  
        foreach($object as $key => $value)  
            $return[$key] = object2array($value);  
    }  
    else  
    {  
        $var = get_object_vars($object);  
            
        if($var)  
        {  
            foreach($var as $key => $value)  
                $return[$key] = ($key && !$value) ? NULL : object2array($value);  
        }  
        else return $object;  
    }  

    return $return;  
} 

$bla=simplexml_load_file($xml_file);
$bla=object2array($bla);

 

This one keeps HTML but turns everything into one giant string:

 

$bla=$bla->asXML();

 

So how can I easily preserve HTML? But better yet, can I somehow just tell PHP which tags to convert? For example, only <this> and <that> in:

 

<this>
  <that>Text <foo>and</foo> test and <whatever>something</whatever>.</that>
</this>

thus creating:

 

Array
(
    [this] => Array
            [0] => Array
                (
                    [that] => Text <foo>and</foo> test and <whatever>something</whatever>.
                 )

}

Link to comment
https://forums.phpfreaks.com/topic/223046-simple-xml2array-that-preserves-html/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.