我有不同的文件,如example.html,example2.html等。我想搜索这些文件中的任何单词并在网站上显示信息。如果是的话,如果没有MySQL(file_get_contents),可能吗?或者有没有方便的方式与MySQL?有没有可能在没有MySQL的网站内搜索任何单词?
回答
好吧,我想你想在网页内搜索非常像cntrl + f提供。 所以这可以通过使用java脚本完成。对于演示,生成一个html文件,粘贴下面的代码并检查它将如何工作。
<html>
<head>
</head>
<body>
my name is amit yadav, type amit to search
<script>
<!-- Hide from old browsers
var TRange = null;
var dupeRange = null;
var TestRange = null;
var win = null;
var nom = navigator.appName.toLowerCase();
var agt = navigator.userAgent.toLowerCase();
var is_major = parseInt(navigator.appVersion);
var is_minor = parseFloat(navigator.appVersion);
var is_ie = (agt.indexOf("msie") != -1);
var is_ie4up = (is_ie && (is_major >= 4));
var is_not_moz = (agt.indexOf('netscape')!=-1)
var is_nav = (nom.indexOf('netscape')!=-1);
var is_nav4 = (is_nav && (is_major == 4));
var is_mac = (agt.indexOf("mac")!=-1);
var is_gecko = (agt.indexOf('gecko') != -1);
var is_opera = (agt.indexOf("opera") != -1);
// GECKO REVISION
var is_rev=0
if (is_gecko) {
temp = agt.split("rv:")
is_rev = parseFloat(temp[1])
}
// USE THE FOLLOWING VARIABLE TO CONFIGURE FRAMES TO SEARCH
// (SELF OR CHILD FRAME)
// If you want to search another frame, change from "self" to
// the name of the target frame:
// e.g., var frametosearch = 'main'
//var frametosearch = 'main';
var frametosearch = self;
function search(whichform, whichframe) {
// TEST FOR IE5 FOR MAC (NO DOCUMENTATION)
if (is_ie4up && is_mac) return;
// TEST FOR NAV 6 (NO DOCUMENTATION)
if (is_gecko && (is_rev <1)) return;
// TEST FOR Opera (NO DOCUMENTATION)
if (is_opera) return;
// INITIALIZATIONS FOR FIND-IN-PAGE SEARCHES
if(whichform.findthis.value!=null && whichform.findthis.value!='') {
str = whichform.findthis.value;
win = whichframe;
var frameval=false;
if(win!=self)
{
frameval=true; // this will enable Nav7 to search child frame
win = parent.frames[whichframe];
}
}
else return; // i.e., no search string was entered
var strFound;
// NAVIGATOR 4 SPECIFIC CODE
if(is_nav4 && (is_minor < 5)) {
strFound=win.find(str); // case insensitive, forward search by default
// There are 3 arguments available:
// searchString: type string and it's the item to be searched
// caseSensitive: boolean -- is search case sensitive?
// backwards: boolean --should we also search backwards?
// strFound=win.find(str, false, false) is the explicit
// version of the above
// The Mac version of Nav4 has wrapAround, but
// cannot be specified in JS
}
// NAVIGATOR 7 and Mozilla rev 1+ SPECIFIC CODE (WILL NOT WORK WITH NAVIGATOR 6)
if (is_gecko && (is_rev >= 1)) {
if(frameval!=false) win.focus(); // force search in specified child frame
strFound=win.find(str, false, false, true, false, frameval, false);
// The following statement enables reversion of focus
// back to the search box after each search event
// allowing the user to press the ENTER key instead
// of clicking the search button to continue search.
// Note: tends to be buggy in Mozilla as of 1.3.1
// (see www.mozilla.org) so is excluded from users
// of that browser.
if (is_not_moz) whichform.findthis.focus();
// There are 7 arguments available:
// searchString: type string and it's the item to be searched
// caseSensitive: boolean -- is search case sensitive?
// backwards: boolean --should we also search backwards?
// wrapAround: boolean -- should we wrap the search?
// wholeWord: boolean: should we search only for whole words
// searchInFrames: boolean -- should we search in frames?
// showDialog: boolean -- should we show the Find Dialog?
}
if (is_ie4up) {
// EXPLORER-SPECIFIC CODE revised 5/21/03
if (TRange!=null) {
TestRange=win.document.body.createTextRange();
if (dupeRange.inRange(TestRange)) {
TRange.collapse(false);
strFound=TRange.findText(str);
if (strFound) {
//the following line added by Mike and Susan Keenan, 7 June 2003
win.document.body.scrollTop = win.document.body.scrollTop + TRange.offsetTop;
TRange.select();
}
}
else {
TRange=win.document.body.createTextRange();
TRange.collapse(false);
strFound=TRange.findText(str);
if (strFound) {
//the following line added by Mike and Susan Keenan, 7 June 2003
win.document.body.scrollTop = TRange.offsetTop;
TRange.select();
}
}
}
if (TRange==null || strFound==0) {
TRange=win.document.body.createTextRange();
dupeRange = TRange.duplicate();
strFound=TRange.findText(str);
if (strFound) {
//the following line added by Mike and Susan Keenan, 7 June 2003
win.document.body.scrollTop = TRange.offsetTop;
TRange.select();
}
}
}
if (!strFound) alert ("String '"+str+"' not found!") // string not found
}
// -->
</script>
<!-- EXAMPLE FORM OF FIND-IN-PAGE SEARCH USING SUBMIT (ALLOWING 'ENTER/RETURN' KEY PRESS EVENT) -->
<form name="form1" onSubmit="search(document.form1, frametosearch); return false"><input type="text" name="findthis" size="15" title="Press 'ALT s' after clicking submit to repeatedly search page"> <input type="submit" value="Find in Page" ACCESSKEY="s"></form>
</body>
</html>
看到你的答案很好..我可以知道如何使用mysql吗?谢谢 – pcs 2015-05-20 10:11:35
你可以在想要搜索的字段上使用'like'运算符 – 2015-06-11 07:51:33
您需要用自己的索引(MySQL的),你自己的爬虫(这也许应该还是指数的结果),或者你可以从谷歌受益:
最快,最简单,最脏的方法是使用php EXEC命令和GREP。它不是一个好主意,虽然(可怕的安全性)。
更好的方法是使用预先构建的搜索缓存。 Zend framework有一个search module,很容易使用。
使用cURL下载网页,然后将其放入一个文本文件。从那里使用本机功能找到你正在寻找的东西:)
如果文件是物理上存在于服务器上,你可以使用像file_get_contents
(实际上与mySQL无关)的函数。
如果要抓取网站的内容,可以使用cURL或HttpRequest。
- 1. 有没有人知道任何有unicode符号可搜索索引的网站
- 2. 没有API的搜索产品网站
- 3. 在没有MySQL的我的网站上搜索
- 4. 为什么我的搜索框没有搜索任何内容?
- 5. 有没有用于搜索的任何sphinxsearch网页前端?
- 6. 有没有办法让网址搜索而不指定网站?
- 7. MySQL的所有词搜索
- 8. 搜索功能没有真正搜索
- 9. 对搜索没有任何反应
- 10. 有没有可能在动态条件下使用Sphinx搜索?
- 11. 是否有可能使跨浏览器网站没有任何IE条件CSS?
- 12. 任何表中都没有找到索引 - 是否有可能?
- 13. 在没有编号的网站上点击搜索按钮
- 14. 德尔福有没有一个有效的整词搜索功能?
- 15. MySQL的全文搜索,没有比赛
- 16. 最近有没有办法在互联网上搜索最多的词汇?
- 17. 有没有用于拼写单词的任何算法?
- 18. 如何在网站搜索的任何网站上搜索
- 19. 有没有Protobuf网的任何教程?
- 20. 有没有可能计算出PHP网站的索引文件名是什么?
- 21. Struts在没有数据库的网站内搜索应用程序
- 22. mysqli_fetch_array()没有任何检索
- 23. 搜索我的网站与通过形式没有JavaScript的
- 24. mysql中单词之间没有空格?
- 25. 有没有办法搜索mySQL数据库中的所有表?
- 26. 有没有办法在单个mysql查询中搜索所有字段?
- 27. 有没有什么办法可以提高-subimage搜索性能
- 28. Django Haystack:搜索带有和没有口音的字词
- 29. Mysql搜索 - 其中没有点
- 30. mysql搜索'否'不是'不'。或没有';
是否要实现控制+ f功能? – 2012-01-09 07:58:42