How check if a String is a Valid XML with-out Displaying a Warning in PHP

后端 未结 6 1550
梦谈多话
梦谈多话 2020-12-13 03:43

i was trying to check the validity of a string as xml using this simplexml_load_string()Docs function but it displays a lot of warning messages.

How can I check whe

6条回答
  •  有刺的猬
    2020-12-13 04:10

    My version like this:

    //validate only XML. HTML will be ignored.
    
    function isValidXml($content)
    {
        $content = trim($content);
        if (empty($content)) {
            return false;
        }
        //html go to hell!
        if (stripos($content, '') !== false) {
            return false;
        }
    
        libxml_use_internal_errors(true);
        simplexml_load_string($content);
        $errors = libxml_get_errors();          
        libxml_clear_errors();  
    
        return empty($errors);
    }
    

    Tests:

    //false
    var_dump(isValidXml(''));
    //true
    var_dump(isValidXml(''));
    //false
    var_dump(isValidXml(null));
    //false
    var_dump(isValidXml(1));
    //false
    var_dump(isValidXml(false));
    //false
    var_dump(isValidXml('asdasds'));
    

提交回复
热议问题