|
|
|
| как сделать подстветку слов, если введено "слово", чтобы были подсвечены "слово", "Слово", "СЛОВО", "СЛОвО" и т.д.? | |
|
|
|
|
|
|
|
для: P@Sol
(29.09.2005 в 14:46)
| | А подсветка как производится? Вообще достаточно заменить искомое слово без учёта регистра (модификатор i)
<?php
$text = preg_replace("|слово|i","<b>\\1</b>",$text);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(29.09.2005 в 18:24)
| | подстветку делал так
<?
$text = ereg_replace($highlight,"<font color='red'>\\0</font>",$row_sl[$arr_name[$n]]);
|
сделал так
<? $text = preg_replace("|$highlight|i","<font color='red'>\\0</font>",$row_sl[$arr_name[$n]]);
|
тоже самое, а как вы написали
<? $text = preg_replace("|$highlight|i","<font color='red'>\\1</font>",$row_sl[$arr_name[$n]]);
|
не работает вообще | |
|
|
|
|
|
|
|
для: P@Sol
(30.09.2005 в 16:20)
| | Да с единичкой я попутал - нужен 0. | |
|
|
|
|
|
|
|
для: cheops
(30.09.2005 в 21:46)
| | но от этого нечувствительность к регистру не появилась | |
|
|
|
|
|
|
|
|
для: cheops
(03.10.2005 в 13:56)
| | спасибо, действительно проблема была в локале | |
|
|
|
|
|
|
|
для: P@Sol
(03.10.2005 в 14:52)
| | теперь проблема в том, что есле введено два слова, то описание не выводится - если закоментировать подсветку - все работает | |
|
|
|
|
|
|
|
для: P@Sol
(07.10.2005 в 16:30)
| | А текст какой и какое слово? | |
|
|
|
|
|
|
|
для: cheops
(07.10.2005 в 22:52)
| | да любые два слова...для примера "Медицинские системы"
http://mks.ru/sssearch/total.php?slovo=ЭКГ%20ВР
счас выделение закоментировано... | |
|
|
|
|
|
|
|
для: P@Sol
(10.10.2005 в 15:06)
| | А вы пропустите slovo через rawurldecode()
<?php
$_GET['slovo'] = rawurldecode($_GET['slovo']);
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(10.10.2005 в 21:02)
| | нет:) но с eregi_replace все работало и без этого
Добавлено:
благодаря описке в своем посте, я исправил скрипт
было
<?
$text = ereg_replace($highlight,"<font color='red'>\\0</font>",$row_sl[$arr_name[$n]]);
|
сделал
<?
$text = eregi_replace($highlight,"<font color='red'>\\0</font>",$row_sl[$arr_name[$n]]);
|
ereg - чувствительно к регистру
eregi - не чувствительно к регистру | |
|
|
|
|
|
|
|
для: P@Sol
(12.10.2005 в 08:51)
| | В качестве продолжения темы.
Допустим есть запрос "очень длинное слово"
И в MySQL есть
"очень 123 длинное 123 456 789 слово"
Как подсветить в результате поиска на странице "очень", "длинное", "слово" игнорируя "123", "456" и "789"?
очень 123 длинное 123 456 789 слово | |
|
|
|
|
|
|
|
для: Eloim
(21.10.2005 в 17:40)
| | Разбивать фразу "очень длинное слово" на отдельные слова, например при помощи функции explode()
<?php
$arr = explode(" ",$text);
?>
|
А затем подсвечивать каждое отдельное слово из массива $arr. | |
|
|
|
|
|
|
|
для: cheops
(21.10.2005 в 23:52)
| | cheops
Спасибо. Попробую | |
|
|
|
|
|
|
|
для: Eloim
(21.10.2005 в 17:40)
| | у меня сделано так
<?
$slovo = "очень длинное слово";
$highlight = str_replace(" ", "|", $slovo);
$text = "очень 123 длинное 123 456 789 слово";
$text = eregi_replace($highlight,"<font color='red'>\\0</font>",$row_sl[$arr_name[$n]]);
|
см. Безопасный и удобный поиск в mySQL | |
|
|
|