PDA

View Full Version : رنگی نشان دادن کلمات جستجو با php



14morteza14
دوشنبه 18 آذر 1392, 20:10 عصر
سلام
من از تابع زیر برای جستجو در سایتم استفاده می کنم. می خوام بدونم چه جوری می تونم کلمه ای که کاربر برای جستجو وارد کرد در نتایج جستجو به صورت رنگی نمایش بده؟!


$read = mysql_query("select * from posts where title like '%$search%' || alltext like '%$search%'
");

nadi_1368
دوشنبه 18 آذر 1392, 20:27 عصر
باید از jquery-text-highlighter استفاده کنید

اینم چند نمونه

http://www.jquery4u.com/plugins/10-jquery-text-highlighter-plugins/

14morteza14
دوشنبه 18 آذر 1392, 20:55 عصر
خیلی متوجه نشدم. می شه زحمت بکشید و بیشتر توضیح بدید؟

14morteza14
دوشنبه 18 آذر 1392, 22:46 عصر
از دوستان کسی هست راهنمایی راحت تری کنه؟

nadi_1368
سه شنبه 19 آذر 1392, 00:08 صبح
تو لینک زیر اسکریپت دانلود کنید

http://www.strangeplanet.fr/work/jquery-highlighttextarea/

اینم مثال


<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.js"></script>
<link type="text/css" rel="stylesheet" href="jquery.highlighttextarea.css" />
<script type="text/javascript" src="jquery.highlighttextarea.js"></script>

<script type="text/javascript">
$(document).ready(function() {
$("textarea").highlightTextarea({
words: ["first word","an other word"]
});
});
</script>


از این واضح تر نمیشه دیگه...

اکه بازم متوجه نمیشین یکم جاوا اسکریپت یاد بگیرید

Javidhb
سه شنبه 19 آذر 1392, 03:05 صبح
بهتره همینجوری که گفتن این کار رو با جاوااسکریپت انجام بدید..

اما یکی از راههایی که با php میتونید این کار رو بکنید:


<?php
$search = 'titles';
$test = 'This is one of the titles';

$result = str_replace($search, "<span style='background-color: red;'>$search</span>", $test);

echo $result;
?>


نتیجه ای که دیتابیس میگیرید رو بجای test$ بزارید و مقدار search$ رو با str_replace با کد html (تگ span همراه با css )جایگزین کنید.

ولی این کار درستی نیست که کد html رو قاطی اسکریپت php کنید.