如何测试 HTML 正文是否包含空标签

How to test if a HTML body contains empty tags

我在某些表单域上使用文本编辑器,TinyMCE。它工作正常。

但是 TinyMCE 编辑器 returns 为表单中的每个字段添加了一个 HTML 正文标记。如果用户完成该表单字段,这是非常好的,即;

'description' => string '<!DOCTYPE html>
    <html>
    <head>
    </head>
    <body>
    a users response
    </body>
    </html>'

但是,如果用户没有完成字段 TinyMCE STILL returns 一个包含空 html 正文的字符串,即下面的代码:

 'description' => string '<!DOCTYPE html>
<html>
<head>
</head>
<body>

</body>
</html>'

我想做的是测试返回的 'form field' 是否仅包含空 HTML 字段,即 html 字段的正文中没有值。

总而言之,我如何测试上面的代码只包含空的 body 标签?

您可以在客户端使用 jquery

if($('<html><body></body></html>').find('body').children().length < 1) {
  console.log('empty')
} else {
  console.log('not empty');
}

您可以验证并向服务器发送适当的响应

这不是一个非常优雅的解决方案,但它确实有效。我只是使用 strip_tag() 从文档中删除标签,然后测试变量是否为空。如果它不为空,我提交 post 变量。

if (isset($_POST['description']))
                {
                    $preValidated = dsf_db_prepare_input($_POST['description']);
                    $testValue  = trim(strip_tags($preValidated));

                    if(!strlen($testValue) >= 1)
                    {
                        $description ='';
                     }
                     else
                     {
                        $description ="$preValidated";
                     }     
                }