如何测试 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";
}
}
我在某些表单域上使用文本编辑器,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";
}
}