X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> выделяем слово
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 18.4.2011, 17:13; Ответить: Salikhoff_hb
Сообщение #1


народ помогите реализовать, в интернете поискал нечего не нашел или может плохо искал в общем вот код [PHP] {
$row['description'] = str_ireplace($request,"<b>$request</b>",$row['description']);
$row['title'] = str_ireplace($request,"<b>$request</b>",$row['title']);
echo ("<div id='block'><div class='number'>".$number."</div>");
echo ("<div id='result'><a href=".$row['url']." target='_blank' onClick=this.href='/addons/counter.php?id=".$row['id']."' class='title'>".$row['title']."</a>");
echo ("<div class='content_result'>".$row['description']."</div>");
echo ("<a href=".$row['url']." target='_blank' onClick=this.href='/addons/counter.php?id=".$row['id']."' class='url'>".$row['url']."</a>");
echo ("</div></div>");
$number ++;
}[/PHP] как сделать чтобы слова выделяло как в яндексе, т.е. в моем примере выделяет например в бд в нижнем регистре а пользователь ввел в верхнем регистре то и слова выделит в верхнем, не знаю как объяснить ну вот в бд вот так amiso пользователь ввел AMISO то ему выведет не amiso а AMISO, а надо чтобы и как в бд было и вывело также и выделило amiso и еще как сделать чтобы он не только часть выделял например слово сайт и он выделит сайтов а чтобы до конца слова выделил сайтов
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zabmix
zabmix
сообщение 18.4.2011, 17:36; Ответить: zabmix
Сообщение #2


[PHP]
/* искомое слово */
$nauti = 'сайт';

$text = 'В интернете столько сайтов! Что сайт на сайте сайтом.';

/* Убираем лишние пробелы */
$text = preg_replace("/[\s\s+]/", " ", $text);
/* делим на слова */
$slova = explode(" ", $text);
$text="";
foreach($slova as $k => $slovo) {
/* если нашли слово или часть в слове*/
if(preg_match("/$nauti/i", $slovo)) {
$slovo = "<b>$slovo</b>";
}
/* вновь собираем картинку прежнего вида с веделеным словом */
$text .= " ".$slovo;
}
/* Убираем лишние пробелы */
$text = preg_replace("/[\s\s+]/", " ", $text);
[/PHP]
P.S Можно даже посчитать сколько нашли слов, добавив ну к примеру переменную $i++ в IF
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Salikhoff_hb
Salikhoff_hb
Topic Starter сообщение 18.4.2011, 17:50; Ответить: Salikhoff_hb
Сообщение #3


zabmix, а как нить попроще нельзя?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zabmix
zabmix
сообщение 18.4.2011, 17:53; Ответить: zabmix
Сообщение #4


Это еще просто, к тому же там если в верхнем регистре написано, выведет как в оригинале. Вот как и просили:
[PHP]
/* искомое слово */
$nauti = 'САЙТ';

$text = 'В интернете столько сайтов! Что сайт на сайте сайтом.';

/* Убираем лишние пробелы */
$text = preg_replace("/[\s\s+]/", " ", $text);
/* делим на слова */
$slova = explode(" ", $text);
$text="";
$tnauti = mb_strtolower($nauti);
foreach($slova as $k => $slovo) {
$tslovo = mb_strtolower($slovo);
if(preg_match("/$tnauti/i", $tslovo)) {
$slovo = (preg_match("/[A-ZА-Я]/i", $slovo) ? mb_strtoupper($slovo) : $slovo);
$slovo = "<b>$slovo</b>";
}
/* вновь собираем картинку прежнего вида с веделеным словом */
$text .= " ".$slovo;
}
/* Убираем лишние пробелы */
$text = preg_replace("/[\s\s+]/", " ", $text);

echo $text;
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
zabmix
zabmix
сообщение 18.4.2011, 18:22; Ответить: zabmix
Сообщение #5


Ну короче, ну просто не придумаешь.
[PHP]/* искомое слово */
$nauti = 'САЙТ';

$text = 'В интернете столько сайтов! Что сайт на сайте сайтом.';

//$text = mb_strtolower($text);
$text = preg_replace(
"/(".mb_strtolower($nauti)."[А-Яа-яA-Za-z]+)/e",
"(preg_match('/([А-ЯA-Z]+)/', $nauti) ? mb_strtoupper('<b>\\1</b>') : '<b>\\1</b>')",
$text
);[/PHP]

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) UnionPharm - новое слово в европейской фарме!
3 UnionPharm 3260 12.11.2019, 13:49
автор: Sergey_rx
Открытая тема (нет новых ответов) По умолчанию UnionPharm - новое слово в европейской фарме!
0 UnionPharmDm 1632 9.4.2019, 15:52
автор: UnionPharmDm
Открытая тема (нет новых ответов) Мы заставляем каждое слово работать на вас!
0 Yul_hb 2547 4.9.2012, 20:01
автор: -Yul-
Открытая тема (нет новых ответов) Простой вопрос, не могу найти где удаляется слово "Категории" на моем сайте
2 Anton1122 5948 30.6.2012, 21:51
автор: -Anton1122-


 



RSS Текстовая версия Сейчас: 29.3.2024, 10:53
Дизайн