|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Vladimir Jouravlev 2:5020/400 08 May 2000 14:43:05 To : All Subject : [Q]: Вывод результатов поиска --------------------------------------------------------------------------------
Поиск по сайту шарит по файлам и ищет слово "елочка".
Hаходит выражение: "В лесу родилась елочка, в лесу она росла".
Результат поиска должен быть в виде искомого слова в контексте:
" ... родилась елочка, в лесу о ..."
Для этого я придумал такую конструкцию:
=================================
if ($string =~ /(.*)елочка(.*)/i) {
$end = $2;
@beg = split (//, $1);
@beg = reverse @beg;
$beg = join (//, @beg);
$beg = substr($beg,0,10);
@beg = split (//, $beg);
@beg = reverse @beg;
$beg = join (//, @beg);
$end = substr($end,0,10);
====================================
И потом в выводе результата:
print "...$beg<font color=\"Red\"><b>елочка</b></font>$end...";
Всё это работает, HО!!!
Меня смущает изврат в формировании $beg. Можно ли как-то иначе
вытащить фрагмент строки, что-то вроде substr, которая берет
отсчет не от начала строки, а от конца?
Володя.
--- ifmail v.2.15dev5
* Origin: Peterlink News System (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/207537b74df62.html, оценка из 5, голосов 10
|