Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zaznaczanie tekstu na stronie
Forum PHP.pl > Forum > PHP
borpaw
Jak zrobić zaznaczenie fraz w tekscie na stronie generownej przez php?
Robię funkcję szukaj "jakiś tekst" i chcę żeby ten tekst został zaznaczony.
askone
Przecież taką funkcjonalność posiada każda przeglądarka. Wystarczy Ctrl+F i już winksmiley.jpg
thek
Zapoznaj się z highlight_file, highlight_string, wyrażeniami regularnymi i/lub obsługą ich w JS. Pomysłów może być wiele. Zależy co i jak chcesz kolorować.
sniver
np. tak:

  1. $szukana = 'Ala';
  2. $string = 'Ala ma kota, a kot ma łomot';
  3.  
  4. echo str_replace( $szukana, '<strong>' . $szukana . '</strong>', $string );
  5.  
skowron-line
str_replace
str_ireplace
no i w zasadzie to chyba tyle.
moto0095
A ja używam czegoś takiego:

Najpierw css:
  1. .highlight_word{
  2. background-color: #ff6600;
  3. }


A potem taka funkcja w PHP:

  1. function highlightWords($text, $words)
  2. {
  3. foreach ($words as $word)
  4. {
  5. $word = preg_quote($word);
  6. $text = preg_replace("/\b($word)\b/i", '<span class="highlight_word">\1</span>', $text);
  7. }
  8. return $text;
  9. }
  10.  
  11.  
  12. $tresc = 'Ala Ma kota, kota ma ala i kotek ma opiekunkę';
  13.  
  14. $szukane = 'ala ma kota';
  15.  
  16. $words = explode(' ', $szukane);



No i wywołanie:
  1. <?php
  2. echo highlightWords($tresc, $words);
  3. ?>


I tyle smile.gif
borpaw
Dzieki moto0095 dokładnie o coś takiego mi chodziło!!!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.