>  기사  >  백엔드 개발  >  PHP 사이트에서 키워드를 검색하고 강조표시하기 위한 구현 코드를 표시합니다.

PHP 사이트에서 키워드를 검색하고 강조표시하기 위한 구현 코드를 표시합니다.

WBOY
WBOY원래의
2016-07-29 08:47:301147검색

코드 복사 코드는 다음과 같습니다.


require_once 'sqlTools.class.php';// 캡슐화 클래스, 실행 가능 dql, dml 문
$info=$_POST['info']
$sql="이름이 '%$info%'이거나 비밀번호가 '인 user_500의 이름, 비밀번호, 이메일을 선택하세요. %$ info%' 또는 이메일(예: '%$info%'";
$sqlTools=new SqlTools();
$res=$sqlTools->execute_dql($sql);
while ($ row= mysql_fetch_assoc($res)){
$row['name']=preg_replace("/($info)/i","\1$row['password']=preg_replace("/($info)/i","\1< ;/ b>",$row['password']);
$row['email']=preg_replace("/($info)/i","",$row['email']);
echo $row['name']."-->".$row['password']."--> ".$row['email']."
";
}
?>


아이디어 분석:
에 포함된 %$info% 변경 sql 문을 DBMS에 넘겨 실행하면
%$info---> 필드에서 변수 $info의 값이 포함된 정보를 검색합니다.
$info%--- >$info 값으로 시작하는 정보 찾기
정규 함수 preg_replace()를 통해 검색된 키워드를 강조 표시합니다. 예:
 $row['name']=preg_replace ("/($info )/i","\1",$row['name'])
  의미: 받은 값 POST 파티를 통해 $ info를 스타일(빨간색 굵은 글씨)이 있는 결과로 바꾸고 결과를 $row['name']에 다시 할당합니다.
여러 키워드를 검색하려면 받은 값 $info를 분할하면 됩니다. 예를 들어 $info_more=explode(" ",$info);//이 방법은 공백으로 구분된 키워드를 분할한 다음 분할 결과를 하나씩 쿼리할 수 있습니다. 마찬가지로 교체를 위해 정규식 함수를 사용하여 강조 표시할 수 있습니다. 키워드 소스 코드
sqlTools.class.php:

코드 복사 코드는 다음과 같습니다.


클래스 SqlTools{
private $host="localhost";
private $dbname="test";
private $dbuser="root"
private $dbpwd = "";
비공개 $conn;
공용 함수 __construct(){
$this->c
if(!$this->conn){
die("데이터베이스 연결 failed".mysql_error());
}
mysql_select_db($this->dbname,$this->conn) 또는 die("데이터베이스를 찾을 수 없습니다.".mysql_error());
mysql_query("설정 이름 utf8");
}
공용 함수 실행_dml($sql){
$bool=mysql_query($sql)
if ($bool){
if ( $bool>0) {
1을 반환합니다.
}else{
2를 반환합니다.
}
}else {
0을 반환합니다.
}
공용 함수 실행($sql){
$res=mysql_query($sql);
return $res;
}
공용 함수 close_conn(){
mysql_close($this- > ;conn);
}
}
?>

원본: WEB Development_Xiao Fei

위 내용은 PHP 사이트 검색을 표시하고 키워드를 강조 표시하기 위한 구현 코드를 소개합니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.