Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: str_replace - ustawienie wyjątku?
Forum PHP.pl > Forum > PHP
slash^
Mam taki oto problem: jest sobie na stronie wyszukiwarka, która szukane słowo przesyła w linku (np. www.strona.pl?szukaj=słowo) i teraz mam np. otwarta strone z tekstem, który jest przechowywany w bazie, a wyświetlany np. tak:

  1. <?php
  2. echo $tekst; 
  3. ?>


(zakładając, że $tekst jest sformatowanym do HTML-a ciągiem znaków, zawierającym tagi tegoż języka (np. <font> <img> <div> <table>)

wyszukiwarka działa w ten sposób:

  1. <?php
  2. $tekst = str_replace ($_GET['szukaj'], &#092;"<span style=\"background-color: red\\">\".$_GET['szukaj'].\"</span>\", $tekst);
  3. ?>


... i wszystko jest pięknie dopuki ktoś nie wpisze w wyszukiwarce jakiegoś taga HTML np. font <-- wtedy się wyświetla, zamiast sformatowanego tekstu pokolorowana składnia sad.gif

Czy jest jakiś logiczny sposób na pominięcie w wyszukiwaniu składni języka? jakaś tabela czy coś?

Help sad.gif
seaquest
no a jakby po tym dodać:

  1. <?php
  2. $tekst = str_replace(&#092;"<<span style=\"background-color: red\\">\".$_GET['szukaj'].\">>\",\"<\".$_GET['szukaj'].\">\",$tekst);
  3. ?>
slash^
a jak ktos napisze w wyszukiwarce np. "nt" wtedy zamieni od słowa <fo<span... no a raczej wyjątku na każda litere to troche dużo :\
Dabroz
Może spróbuj wykonać to w dwóch (trzech) krokach

1) zamieniasz wszystkie "<xxxxx>" na jakieś losowe dane, które tymczasowo zapamiętujesz

2) dokonujesz kolorowania poszukiwanego wyrazu

3) zamieniasz tymczasowe dane na pierwotną postać
dr_bonzo
nie mozesz "kolorowac" (otoczyc $tekst-u <spanem>) tekstu przed dodaniem do niego tagow HTML?
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.