php实现的关键字
实现关键字搜索功能
在PHP中实现关键字搜索功能通常涉及数据库查询和字符串匹配。以下是几种常见的方法:
使用SQL的LIKE语句
$keyword = $_GET['keyword'];
$query = "SELECT * FROM articles WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%'";
$result = mysqli_query($connection, $query);
使用全文索引(FULLTEXT) 对于更高效的搜索,可以在MySQL表中创建全文索引:

ALTER TABLE articles ADD FULLTEXT(title, content);
然后使用MATCH AGAINST语法:
$query = "SELECT * FROM articles WHERE MATCH(title, content) AGAINST('$keyword')";
关键字高亮显示
在搜索结果中高亮显示匹配的关键字:

function highlightKeyword($text, $keyword) {
return preg_replace("/($keyword)/i", '<span style="background-color:yellow;">$1</span>', $text);
}
防止SQL注入
使用预处理语句保护搜索功能:
$stmt = $connection->prepare("SELECT * FROM articles WHERE title LIKE ? OR content LIKE ?");
$searchTerm = "%$keyword%";
$stmt->bind_param("ss", $searchTerm, $searchTerm);
$stmt->execute();
实现模糊搜索
对于更灵活的搜索,可以使用正则表达式或SOUNDEX函数:
$query = "SELECT * FROM articles WHERE SOUNDEX(title) = SOUNDEX('$keyword')";
搜索结果分页
添加分页功能提升用户体验:
$perPage = 10;
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
$offset = ($page - 1) * $perPage;
$query = "SELECT * FROM articles WHERE title LIKE '%$keyword%' LIMIT $offset, $perPage";
这些方法可以根据具体需求组合使用,构建出功能完善的PHP关键字搜索系统。






