html5使用搜索,搜索txt里的相应内容并显示出来

要在 HTML5 中实现搜索 TXT 文件里的相应内容并显示出来,一般需要以下几个步骤:

  1. 创建 HTML 界面,包含输入框用于输入搜索关键词和按钮触发搜索操作。

  2. 使用 JavaScript 读取 TXT 文件内容。

  3. 在读取的内容中搜索关键词,并将匹配的结果显示在页面上。

示例代码

PHP

<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <meta name="viewport" content="width=device-width, initial-scale=1.0">     <title>TXT 文件搜索</title> </head> <body>     <!-- 输入搜索关键词的输入框 -->     <input type="text" id="searchInput" placeholder="输入搜索关键词">     <!-- 触发搜索的按钮 -->     <button onclick="searchInTxt()">搜索</button>     <!-- 用于显示搜索结果的区域 -->     <div id="result"></div>     <script src="script.js"></script> </body> </html>

2. JavaScript 部分(script.js

PHP

function searchInTxt() {
    // 获取用户输入的搜索关键词
    const searchTerm = document.getElementById('searchInput').value.trim();
    if (searchTerm === '') {
        alert('请输入搜索关键词');
        return;
    }

    // 创建 XMLHttpRequest 对象,用于读取 TXT 文件
    const xhr = new XMLHttpRequest();
    // 假设 TXT 文件名为 example.txt,可根据实际情况修改
    xhr.open('GET', 'example.txt', true);

    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4) {
            if (xhr.status === 200) {
                // 获取 TXT 文件的内容
                const txtContent = xhr.responseText;
                // 调用 searchText 函数进行搜索
                const results = searchText(txtContent, searchTerm);
                displayResults(results);
            } else {
                // 若请求失败,显示错误信息
                document.getElementById('result').innerHTML = '无法读取 TXT 文件';
            }
        }
    };

    // 发送请求
    xhr.send();
}

function searchText(text, term) {
    const lines = text.split('\n');
    const results = [];
    // 遍历每一行,查找包含搜索关键词的行
    for (let i = 0; i < lines.length; i++) {
        if (lines[i].includes(term)) {
            results.push(lines[i]);
        }
    }
    return results;
}

function displayResults(results) {
    const resultDiv = document.getElementById('result');
    if (results.length === 0) {
        // 若没有找到匹配结果,显示提示信息
        resultDiv.innerHTML = '未找到匹配的内容';
    } else {
        let html = '<ul>';
        // 将匹配的结果以列表形式显示
        results.forEach(result => {
            html += `<li>${result}</li>`;
        });
        html += '</ul>';
        resultDiv.innerHTML = html;
    }
}

注意事项

  1. 文件路径:确保 example.txt 文件与 index.html 和 script.js 文件在同一目录下,或者根据实际情况修改 xhr.open 中的文件路径。

  2. 跨域问题:如果 TXT 文件位于不同的域名下,会遇到跨域问题。可以使用服务器端脚本(如 Node.js、Python Flask 等)来处理文件读取,或者在开发环境中使用支持跨域的服务器。

  3. 编码问题:确保 TXT 文件的编码与页面的编码一致,避免出现乱码问题。

通过以上代码,你可以在 HTML 页面中输入搜索关键词,点击搜索按钮后,程序会读取 TXT 文件内容并显示包含关键词的行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值