Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyszukiwanie i problem ze str_replace
pixsoul
post
Post #1





Grupa: Zarejestrowani
Postów: 59
Pomógł: 3
Dołączył: 4.06.2005

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


witam,

mam nadzieje ze zamieszczam to w dobrym miejscu na forum,
mam 2 problemy:

1) mam na stronie zrobiona wyszukiwarke, w której mozna podac dowolna tresc, a skrypt bedzie go szukal w długich stronach mojego serwisu. nastepnie pokazuje wyniki, zeby nie zajmowaly za duzo miejsca limituje ciag za uzyciem substr. zamieniam <br /> na &nbsp, zeby nie robil nowej linii ale ladny odstep i to wszystko mi ladnie dziala

problem nastepuje kiedy mam obrazki, nie chce ich pokazywac w wynikach. jak moge ustawic kod php aby nie wyswietlal calych tagów <img /> od samego poczatku az do konca, łacznie ze stylami, rozmiarami, altami itd. chce żeby po prostu to ominął, jednak za kazdym razem taki tag jest inny jak mam to zrobic ?

2) przy pokazywaniu wyników jak juz pisalem ograniczam ilość tekstu na stronie, problem polega na tym ze chchcialbym pokazac ten fragment w którym występuje ów wyraz (lub pierwszy z nich jesli jest ich kilka) na stronie, a nie zaś sam poczatek tesktu (czasami sa one naprawde dlugie i to co jest na poczatku nie ma sie za bardzo do tego co jest na koncu)

bardzo prosze o pilna pomoc.

pozdrawiam
Go to the top of the page
+Quote Post
sobstel
post
Post #2





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


Cytat(pixsoul @ 2006-02-14 23:59:09)
problem nastepuje kiedy mam obrazki, nie chce ich pokazywac w wynikach. jak moge ustawic kod php aby nie wyswietlal calych tagów <img /> od samego poczatku az do konca, łacznie ze stylami, rozmiarami, altami itd. chce żeby po prostu to ominął, jednak za kazdym razem taki tag jest inny jak mam to zrobic ?

wyrazenia regularne (preg) powinny tu przyjsc z pomocą...

Cytat
2) przy pokazywaniu wyników jak juz pisalem ograniczam ilość tekstu na stronie, problem polega na tym ze chchcialbym pokazac ten fragment w którym występuje ów wyraz (lub pierwszy z nich jesli jest ich kilka) na stronie, a nie zaś sam poczatek tesktu (czasami sa one naprawde dlugie i to co jest na poczatku nie ma sie za bardzo do tego co jest na koncu)


pomysl mam taki :

  1. <?php
  2.  
  3. substr($string, strpos($string, $szukany_wyraz) - 20, $length)
  4.  
  5. ?>


wtedy zaczyna cięcie 20 znaków przed pierwszym napotkaniem szukanego wyrazu.

oczywiście w powyzszym przykladzie trzeba sie zabezpieczyc jeszcze na wypadek gdyby szukany wyraz znalazl sie w pierwszych 20 znakach (tzn. zeby nie bylo wtedy wartosci ujemnych, a po prostu 0).
Go to the top of the page
+Quote Post
pixsoul
post
Post #3





Grupa: Zarejestrowani
Postów: 59
Pomógł: 3
Dołączył: 4.06.2005

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


wielkie dzieki, z wyrazeniami regularnymi sobie poradze, jednak czy moze mi ktoś podpowiedzieć jak moge sprawdzić wlasnie to o czym napisał SOPEL i jak sprawdzić czy wyszukiwana fraza nie wystepuje wlasnie w tych -20 znakach ?
Go to the top of the page
+Quote Post
sobstel
post
Post #4





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


np.
  1. <?php
  2. $before = 20;
  3. $start = strpos($string, $szukany_wyraz);
  4. substr($string, (($start < $before) ? 0 : ($start - $before)), $length)
  5. ?>


Ten post edytował sopel 16.02.2006, 10:30:36
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 14.09.2025 - 22:23