Loading:


Podświetlanie szukanego słowa w wyszukiwarce

Skrypt tworzy funkcję która pobiera 2 paramatry:

$text - To tekst który chcemy przeszukać,

$search - To słowo którego szukamy


Jak użyć

 

$text = "Krowa szła sobie ulicą i szukała innej krowa która siedziała na łące z jakąś krowa";
$search = "Krowa";
echo search_highlight($text, $search);



Napisz Artyku³

Listing


<?php

function search_highlight($text, $search)
 
{
    $colors = array('#FFFF00','#00FFFF','#99FF99','#FF9999','#FF66FF',
                    '#880000','#00AA00','#886800','#004699','#990099');

    $terms = array();
    preg_match_all('/(".+?"|\S+)/', $search, $m);
    foreach (array_unique($m[0]) as $s) {
        $terms[] = str_replace('"', '', $s);
    }

    $r = $text;
    for ($i = 0; $i < count($terms); $i++) {
        $blocks = preg_split('/(<.+?'.'>)/s', $r, -1, PREG_SPLIT_NO_EMPTY | PREG_SPLIT_DELIM_CAPTURE);
        $r = '';
        for ($j = 0; $j < count($blocks); $j++) {
            if (substr($blocks[$j], 0, 1) != '<') {
                $replace = '<b style="color:'.($i / 5 % 2 ? 'white':'black').
                           ';background-color:'.$colors[$i % 10].'">\\1</b>';
                $blocks[$j] = preg_replace('/('.preg_quote($terms[$i]).')/i',
                                           $replace, $blocks[$j]);
            }
            $r .= $blocks[$j];
        }
    }
    return $r;
}


$text = "Krowa szła sobie ulicą i szukała innej krowa która siedziała na łące z jakąś krowa";
$search = "Krowa";
echo search_highlight($text, $search);

?>




Dodano przez: igor
Ranga: Administrator serwisu Punktów: 28716
Komentarze użytkowników
Super! Dobre jako wyszukiwarka tekstu...
autor: adikso | 12481 | 2011-06-12 22:03:06


    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2024 v.1.5 | design: diviXdesign & rainbowcolors