Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Vladimir Marunin                     2:5020/400     16 Feb 2006  18:35:43
 To : Alexander V. Gaiduk
 Subject : Re: выделенная фраза
 -------------------------------------------------------------------------------- 
 
 "Alexander V. Gaiduk" <gav@arhcity.ru> сообщил/сообщила в новостях 
 следующее: news:43f4858b$1@arhadm.net.ru...
 
 > точней, когда я кликаю на ссылку на документ на странице результатов 
 > поиска,
 > чтоб мне показывался сам документ (это уже есть) и чтоб в этом документе
 > искомое слово было подсвечено!
 > как говорицца - задумано == сделано:
 >
 > my $refstr = "набор слов искомой строки";
 > $refstr =~ s/\s+$//;
 > $refstr =~ s/^\s+//;
 > $refstr =~ s/\s+/\|/g;
 > $pagecontent =~ s/($refstr)/<span
 > style='background-color:#a0ffa0'>$1<\/span>/gi;
 >
 > всё было зашибизь, жизнь показалась раем,
 > пока я не ввел в качестве искомого слова - "table"...
 
 ...
 
 > у кого нить есть мысли более конкретные, чем фраза "надо парсить
 > $pagecontent" ?
 
 Есть мысль! "Обязательно надо парсить $pagecontent"
 IMHO для любого регэкспа можно написать HTML'ку, такую, что он на ней 
 обломается, поэтому только парсить.
 Кстати, парсить HTML не так сложно. В HTML::Parser вполне можно повесить 
 обработчик на просто текст и там искать.
 Я бы при парсинге просто запомнил все позиции в которых встречаются слова, а 
 потом уже по этим позициям поменял (с конца).
 Кода там IMHO строк на 20-30 (с комментариями), зато будет работать надёжно 
 и не падать на каждый чих.
 
 Ещё могут быть проблемы с HTML-вставками посреди текста, например вместо 
 пробела будет стоять   или какое-то слово из фразы будет ссылкой.
 -- 
 Vladimir Marunin
 --- ifmail v.2.15dev5.3
  * Origin: RTComm.RU (2:5020/400)
 
 

Вернуться к списку тем, сортированных по:

 Тема:    Автор:    Дата:  
 выделенная фраза   Alexander V. Gaiduk   16 Feb 2006 18:12:18 
 Re: выделенная фраза   Vladimir Marunin   16 Feb 2006 18:35:43 
 выделенная фраза   Serg Chervjakov   18 Feb 2006 14:24:39 
 Hа: выделенная фраза   Alexander V. Gaiduk   22 Feb 2006 11:12:37 
 Re: выделенная фраза   Ilia Vinokurov   22 Feb 2006 16:01:04 
Архивное /ru.cgi.perl/91811adde204.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional