Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zaznaczanie tekstu z pominieciem linkow
GrZeCh1983
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 2.02.2007

Ostrzeżenie: (0%)
-----


Witam!

uzywam takiej funkcji do zaznaczania slow w tekscie:

  1. <?php
  2. function highlight($word, $subject) {
  3.  $regex_chars = '.+?(){}[]^$';
  4.  for ($i=0; $i<strlen($regex_chars); $i++) {
  5.  $char = substr($regex_chars, $i, 1);
  6.  $word = str_replace($char, ''.$char, $word);
  7.  }
  8.  $word = '(.*)('.$word.')(.*)';
  9.  return eregi_replace($word, '1<span class="zaznaczone">2</span>3', $subject);
  10. }
  11. ?>


i mam pewien problem. Otoz jesli slowo ktorego szukamy jest tez w adresie uzytym w linku to mi ten link calkowicie rozwala. Moglby mnie ktos nakierowac w jaki sposob sprawdzac czy dane slowo ktore zaznacza funkcja nie jest przypadkiem w tagu <a href="..."> ?

Z gory dzieki za pomoc

Pozdrawiam

P.S. Tam w linijce return eregi_replace(.... sie troche rozsypaly cudzyslowie
Go to the top of the page
+Quote Post
misiek172
post
Post #2





Grupa: Zarejestrowani
Postów: 656
Pomógł: 3
Dołączył: 26.10.2005
Skąd: Częstochowa

Ostrzeżenie: (0%)
-----


musisz dopisać aby funkcje które będzie wstecz analizowała tekst, czy nie znajduje się tam wyraz <a , oraz do przodu, czy nie znajduję się wyraz </a>, jeżeli nie znajdzie takich znaków to znaczy że nie jest w linku smile.gif. Najlepiej jeszcze ograniczyć ilość znaków przeszukiwania, ponieważ link i tak może mieć najwięcej 255 znaków, to niech szuka 200 znaków do przodu i do tyłu max, ograniczy to ilość czasu wykonwania.


--------------------
zmoderowano - waga i rozmiar
Go to the top of the page
+Quote Post
GrZeCh1983
post
Post #3





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 2.02.2007

Ostrzeżenie: (0%)
-----


postanowilem skorzystac z klasy do bezpiecznego zaznaczania slow:

http://www.phpclasses.org/browse/package/1348.html
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 20:00