اسکریپت PHP موتور جستجوی خبری
موتور جستجوی خبری به عنوان ابزاری قدرتمند، به کاربران این امکان را میدهد تا به راحتی به اخبار و اطلاعات مورد نظر خود دسترسی پیدا کنند. ایجاد چنین سیستمی با استفاده از زبان PHP، یکی از بهترین روشها است. در ادامه به بررسی اجزای اصلی و نحوه عملکرد آن میپردازیم.
۱. ساختار دیتابیس
برای شروع، نیاز به یک پایگاه داده داریم. این پایگاه داده باید شامل جداولی برای ذخیرهسازی اطلاعات خبری باشد. معمولاً جداول به صورت زیر طراحی میشوند:
- جدول اخبار: شامل شناسه، عنوان، متن، تاریخ انتشار، منبع و برچسبها.
- جدول کاربران: شامل شناسه، نام کاربری و رمز عبور.
- جدول جستجو: برای ذخیرهسازی تاریخچه جستجوها.
۲. جمعآوری اخبار
برای جمعآوری اخبار، میتوان از APIهای خبری یا وباسکرپینگ استفاده کرد. به عنوان مثال:
```php
$api_url = "https://newsapi.org/v2/top-headlines?country=us&apiKey=YOUR_API_KEY";
$response = file_get_contents($api_url);
$data = json_decode($response, true);
```
این کد به شما این امکان را میدهد که جدیدترین اخبار را از یک منبع معتبر دریافت کنید. سپس، میتوانید این اخبار را در پایگاه داده خود ذخیره کنید.
۳. جستجوی اخبار
برای جستجوی اخبار، میتوانید یک فرم ساده ایجاد کنید. کاربر کلمات کلیدی خود را وارد میکند و سپس با استفاده از کد زیر، جستجو انجام میشود:
```php
$keyword = $_POST['search'];
$sql = "SELECT * FROM news WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%'";
$result = $conn->query($sql);
```
این کد به جستجوی اخبار بر اساس کلمات کلیدی وارد شده کمک میکند.
۴. نمایش نتایج
پس از انجام جستجو، نتایج باید به کاربر نمایش داده شوند. با استفاده از حلقهها، میتوانید تمام اخبار مرتبط را به صورت لیست نمایش دهید:
```php
while($row = $result->fetch_assoc()) {
echo "<h2>" . $row['title'] . "</h2>";
echo "<p>" . $row['content'] . "</p>";
}
```
۵. بهینهسازی و امنیت
بهینهسازی کد و پایگاه داده بسیار مهم است. همچنین، از نظر امنیتی، حتماً از جملههای SQL Injection جلوگیری کنید. به عنوان مثال، میتوانید از prepared statements استفاده کنید.
```php
$stmt = $conn->prepare("SELECT * FROM news WHERE title LIKE ?");
$stmt->bind_param("s", $keyword);
```
نتیجهگیری
ایجاد یک موتور جستجوی خبری با PHP نیاز به برنامهریزی و طراحی دقیق دارد. با استفاده از پایگاه داده مناسب، جمعآوری اخبار و طراحی صحیح جستجو، میتوانید سیستمی کارآمد و مفید بسازید. این سیستم میتواند به کاربران کمک کند تا به راحتی به اخبار مورد نظر خود دسترسی پیدا کنند.