我需要在变量中保存网站的所有内容,以便搜索特定的字符串。
以下是内容的外观示例,它实际上是一个纯文本日志。
======================================================================
BEGIN_TEXT
APPLEYARD IAN 23761347 BA 2 Airport Data:
Code = JFK
Name = JFK/John F Kennedy International
City = New York
State = NY
Airport Data:
Code = LCY
Name = Lcy/London City Airport '
City = London
State = England
sysTime:XXXXXXXXX0000 year:2012 month:7 day:16 hour:7 min:10 pm,END_TEXT
======================================================================
----(1341920977.93286)
2012/07/10 12:03:22.582
MAP UNAVAIL-AIRPORT CHECK IN ONLY *
>
======================================================================
----(1341920977.93286)
2012/07/10 12:03:23.202
I
======================================================================
----(1341920977.93286)
2012/07/10 12:03:23.337
IGND
>
======================================================================
----(1341920977.93286)
2012/07/10 12:03:23.337
9V/BA2R16AUGJFKLCY
======================================================================
这是我最初的想法:
var content = document.body.textContent; //But there is no body!
var pos = content.search("UNAVAIL-AIRPORT"); // Just an example to search for
所以我的问题是:
提前致谢!
答案 0 :(得分:1)
当您在浏览器中将文本文件作为网页加载时,您的浏览器会在文本周围创建一个简单的HTML脚手架:
<html>
<head></head>
<body>
<pre>[your entire text document here]</pre>
</body>
</html>
如果您查看页面的来源,则不会显示此内容,但如果您阻止该页面,则会显示该页面(例如,使用Firebug或Chrome开发工具)。
操作文本和设置样式的一种简单方法是抓取innerHTML
块的<pre>
并在其中添加标记:
function highlightText(regexStr) {
var preTag = document.getElementsByTagName("pre")[0];
preTag.innerHTML = preTag.innerHTML
.replace(new RegExp("("+regexStr+")", "g"),
"<span style='background-color:orange;'>$1</span>");
}
highlighText("some regex phrase to highlight");
在<span>
中添加您喜欢的任何样式,以达到所需的突出显示效果。
请注意,传递给highlightText
的字符串在正则表达式中使用,因此在将字符串传递给函数之前,应该转义特殊的正则表达式字符,如$
和^
(或使函数清理自己的输入)。这已在How do you pass a variable to a Regular Expression JavaScript?中解决:
str.replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1");
答案 1 :(得分:0)
var content = ''; $.get('ajax/test.html', function(data) { content = data; });
2-)$(content).find()您要搜索的内容并添加一个类以突出显示