检查文本是否为 HTML
Check if a text is HTML or not
我正在使用Meteor,我正在尝试检查文本是否为html。但是通常的方法不起作用。这是我的代码:
post: function() {
var postId = Session.get("postId");
var post = Posts.findOne({
_id: postId
});
var object = new Object();
if (post) {
object.title = post.title;
if ($(post.content).has("p")) { //$(post.content).has("p") / post.content instanceof HTMLElement
object.text = $(post.content).text();
if (post.content.match(/<img src="(.*?)"/)) {
object.image = post.content.match(/<img src="(.*?)"/)[1];
}
} else {
console.log("it is not an html------------------------");
object.text = post.content;
}
}
return object;
}
实际上,这是我迄今为止使用过的最"有效"的解决方案。另外,我指出了我使用的两种最常见的方式(在if语句旁边)。没有正则表达式是否有可能发生。
可以使用你已经开始使用jQuery的方法,但将响应附加到新<div>
并检查该元素是否有子元素。如果jQuery找到子项,则它是html。
如果是 html,您可以使用 find()
在该div 中搜索任何类型的元素。
// create element and inject content into it
var $div=$('<div>').html(post.content);
// if there are any children it is html
if($div.children().length){
console.log('this is html');
var $img = $div.find('img');
console.log('There are ' + $img.length +' image(s)');
}else{
console.log('this is not html');
}
使用 jquery $.parseHTML 函数将字符串解析为 DOM 节点数组,并检查它是否有任何 HTMLElement。
var htmlText = "----<b>abc</b>----<h3>GOOD</h3>----";
htmlText = prompt("Please enter something:", "----<b>abc</b>----");
var htmlArray = $.parseHTML(htmlText);
var isHtml = htmlArray.filter(function(e){ return e instanceof HTMLElement;}).length;
console.log(htmlText);
//console.log(htmlArray);
if (isHtml)
console.log(isHtml + " HTML Element(s) found.");
else
console.log("No HTML Elements found!");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
相关文章:
- 是否可以添加这行“;“照原样”;在HTML标记中
- 确定javascript中的html表对象是否具有<colgroup>是否
- jQuery:确认.html()是否可添加
- 是否可以从html中的javascript调用.vbs文件
- 是否可以使用有角度的HTML文档进行$编译
- 使用javascript检查服务器上是否存在html文件
- 是否可以从Html本地存储输出到.csv或类似文件
- 是否可以在JavaScript中包含HTML代码
- 检查HTML是否已加载到DIV中
- 如何检查html是否看起来'空'
- 我需要一种新的方法来检测元素 HTML 是否有更改
- 保存内部html是否允许保存页面上的所有元素
- 有没有办法检查html是否加载在Iframe上
- html是否有类似c#的尝试、捕获
- 加载网站的HTML是否会为该网站产生流量?
- 如何查找 HTML 是否包含在所选文本中
- jQuery's html()是否删除所有附加到被替换元素上的数据?
- 检查Div html是否有特定字符
- 检查Html是否与Node-webkit一起使用
- 检查HTML是否有一个类,如果为真,打印结果没有jquery