![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 10.04.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Jak napisać wyszukiwarkę, która będze przeszukiwać pliki HTML po czym gdy znajdzie szukane słowo będzie zamieniać je na <font color=red>slowo</font>
[php:1:7bc075f9f4]<? $wynik = eregi_replace( $szukane_slowa, "<font color="red">$szukane_slowa</font>", $przeszukiwany_string); ?>[/php:1:7bc075f9f4] Ta linijka zamienia znalezione słowa także wtedy kiedy są one elementami kodu HTML np jeśli szukane słowo to "HREF" to wtedy wszystko się wywala, czy ktoś ma jakiś pomysł ![]() |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 2.03.2004 Skąd: Ziemia Giżycka Ostrzeżenie: (0%) ![]() ![]() |
Wydaje mi się że dobrym wyjściem jest zrobienie listy takich znaczników, a następnie sprawdzanie czy wyszukiwane słowo to nie jedno z nich.
Inny sposób (ale nie wiem na ile może być wydajny) to pobierasz numer porządkowy znalezionego ciągu (numer pierwszego znaku) np. za pomocą strpos(), a nastepnie sprawdzasz, czy najbliższy znak za nim to '<', jeżeli nie to tego nie zamieniasz, a jeżeli tak to nadpisujesz. Sprawdzać możesz, np poprzez wycięcie wszystkiego co znajduje się od znalezionego numeru aż do końca pliku, np. za pomocą funkcji strstr(). Pierwsze wsytąpienie znaku znajdziesz przy pomocy strchr(). -------------------- My name is Luke... Lucky Luke
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 223 Pomógł: 1 Dołączył: -- Skąd: Rogożnik /K-ce/ Ostrzeżenie: (0%) ![]() ![]() |
Witam
Użyj tej funkcji, ewentualnie rozbuduj ją sobie. Funkcja w tej postaci czyści z tekstu kod html i zawartość np. javascript. [php:1:1799ca32ab]<?php function clean($string){ $search=array("'<script[^>]*?>.*?</script>'si","'<[/!]*?[^<>]*?>'si"); $replace=array("",""); $string=preg_replace($search,$replace,$string); return $string; } ?>[/php:1:1799ca32ab] |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 10.04.2003 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Chodzi mi o to zeby wczytac plik html do zmiennej co juz zrobilem, a potem wszystko czego szukam i co nie jest tagiem zamienic na np czerwone i wyrzucac zmienna jako html z pokolorowanymi wynikami wyszukiwania
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 22 Pomógł: 0 Dołączył: 2.03.2004 Skąd: Ziemia Giżycka Ostrzeżenie: (0%) ![]() ![]() |
Jeżeli o to chodzi, to sposób który podałem jest dobry.
Możesz ewentualnie zrobić w ten sposób: Wczytujesz do jednej tablicy kolejne numery wystąpień znaku '<' a do drógiej odpowiednio kolejne numery wystąpień znaku '>'. Następnie odnajdujesz potrzebne słowa (tzn spisujesz numery ich wystąpień w ciągu) i sprawdzasz czy dany numer nie zawiera się pomiędzy każdym numerem z tablicy pierwszej i odpowiadającemu mu numerowi z drugiej. Mam nadzieję że nie zagmatwałem. :? -------------------- My name is Luke... Lucky Luke
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 04:57 |