هایلایت نتایج جستجو یا پر رنگ کردن کلمات به شما اجازه می دهد که نتایج را بهتر و ساده تر بررسی کنید . در آموزش قبل ، جستجوی پیشرفته توسط php را دیدیم . در این مثال قصد داریم هایلایت نتایج جستجو در php را بررسی کنیم .
ما عنوان و توضیحات را برای پیدا کردن کلمه کلیدی مورد نظر در دیتابیس جستجو می کنیم . اگر نتیجه ای یافت شد ، کلمات کلیدی یافت شده را با تابع str_ireplace به کلمه پررنگ شده تبدیل می کنیم .
هایلایت نتایج جستجو در php و پررنگ کردن کلمات پیدا شده ، کار ما را حرفه ای تر جلوه می دهد .و همچنین محیط جستجو را بسیار کاربرپسند تر خواهد کرد.
فرم جستجوی HTML
یک فیلد برای جستجوی کلمه کلیدی داریم . یک کوئری برای پیدا کردن حداقل یک نتیجه مشابه با کلمه سرچ شده در دیتابیس ، اجرا می کنیم ..
1 2 3 4 5 6 7 8 9 10 11 |
<form name="frmSearch" method="post" action=""> <div class="search-box"> <label class="search-label">Enter Search Keyword:</label> <div> <input type="text" name="keyword" class="demoInputBox" value="<?php echo $keyword; ?>" /> </div> <div> <input type="submit" name="go" class="btnSearch" value="Search"> </div> </div> </form> |
جستجو و پر رنگ کردن کلمات یافت شده
با کد php زیر ، در فیلد title یا description برای پیدا کردن کلمه مورد نظر ، جستجو می کنیم . اگر موردی یافت شد ، تابع highlightKeywords() را برای هایلایت نتایج جستجو فراخوانی می کنیم . این تابع یک تگ span با استایل font که کلمه مورد نظر را به صورت توپر نمایش می دهد ، اضافه می کند
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<?php $conn = mysqli_connect("localhost", "root", "", "blog_samples"); $keyword = ""; $queryCondition = ""; if(!empty($_POST["keyword"])) { $keyword = $_POST["keyword"]; $wordsAry = explode(" ", $keyword); $wordsCount = count($wordsAry); $queryCondition = " WHERE "; for($i=0;$i<$wordsCount;$i++) { $queryCondition .= "title LIKE '%" . $wordsAry[$i] . "%' OR description LIKE '%" . $wordsAry[$i] . "%'"; if($i!=$wordsCount-1) { $queryCondition .= " OR "; } } } $orderby = " ORDER BY id desc"; $sql = "SELECT * FROM links " . $queryCondition; $result = mysqli_query($conn,$sql); ?> <?php function highlightKeywords($text, $keyword) { $wordsAry = explode(" ", $keyword); $wordsCount = count($wordsAry); for($i=0;$i<$wordsCount;$i++) { $highlighted_text = "<span style='font-weight:bold;'>$wordsAry[$i]</span>"; $text = str_ireplace($wordsAry[$i], $highlighted_text, $text); } return $text; } ?> |
امیدوارم از این کد کاربردی هایلایت نتایج جستجو در php برای پر رنگ کردن کلمات یافت شده ، در پروژه هایی که می نویسید استفاده کنید
هر گونه مشکلی در اجرای کدها داشتید از قسمت نظرات ارسال کنید ، سریعا پاسخگوی سوالات شما هستیم .
برای دانلود سورس کد هایلایت نتایج جستجو در php از قسمت زیر اقدام کنید
موفق باشید