![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 14.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuję jak najszybszej metody do przeszukiwania tekstu w PHP (przy czym wolałbym nie implementować "ręcznie" znanych w tej dziedzinie algorytmów, jeśli wydajna metoda już istnieje). Mając duży tekst, chcę znaleźć w nim wystąpienia kilku wzorców (wyrazów). Pytanie: jak wygląda wydajność strpos? a preg_match? Jest jakiś wydajniejszy sposób na szukanie wystąpień?
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 24 Dołączył: 14.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
preg_match() jest najwydajniejszą metoda szukania
Ten post edytował elemek 22.08.2008, 14:51:15 -------------------- Rzecz trudną rozbijam na kilka łatwiejszych :)
Pomogłem? Kliknij Pomógł. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 9 Dołączył: 3.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
smutek mnie czasem ogarnia jak czytam posty na forum :/
Cytat(elemek) preg_match jest najwydajniesza metoda do czego?O.o Cytat(manual php) Do not use preg_match() if you only want to check if one string is contained in another string. Use strpos() or strstr() instead as they will be faster. @Thomashek: jak patrzę na tekst o "znanych algorytmach w tej dziedzinie" to zaczynam się zastanawiać czego Ty w ogóle chcesz? wiesz czym się różni strpos od preg_match w ogóle? jeśli masz słowo które chcesz znaleźć użyj strpos jeśli masz wyrażenie regularne które chcesz znaleźć użyj preg_match |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 71 Pomógł: 24 Dołączył: 14.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
smutek mnie czasem ogarnia jak czytam posty na forum :/ do czego?O.o Kolega czytać nie umie? ![]() Chodzi o szukanie wzorców (wyrazów), a nie wystąpień ciągu w ciągu. np wyrazu "kot" w zdaniu "Kot, który wpadł pod pociąg w Mokotowie twierdzi, że jest niewinny."; -------------------- Rzecz trudną rozbijam na kilka łatwiejszych :)
Pomogłem? Kliknij Pomógł. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 14.12.2007 Ostrzeżenie: (0%) ![]() ![]() |
@Thomashek: jak patrzę na tekst o "znanych algorytmach w tej dziedzinie" to zaczynam się zastanawiać czego Ty w ogóle chcesz? wiesz czym się różni strpos od preg_match w ogóle? Wiem czym się różni od strony użycia. Nie wiem, w jaki sposób jest zaimplementowane - jeśli, dajmy na to, wyszukiwanie wzorca poprzez strpos odbywa się w czasie ilość wzorców*(długość tekstu^2), to nie jest to perspektywa napawająca nadzieją. A z kolei, jeśli preg_match potrafi wykonać to samo zadanie w czasie liniowym, to wiadomo, iż w takiej sytuacji byłoby lepsze użycie preg_match (pod warunkiem, że działa w takim czasie). Pytałem o wydajność, najszybszą metodę do zrealizowania problemu postawionego w pierwszym poście. Ten post edytował Thomashek 22.08.2008, 15:04:18 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 233 Pomógł: 9 Dołączył: 3.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
no właśnie nie jestem pewien co ma na myśli autor topicu pod pojęciem wzorca
bo jego post przysparza we mnie wątpliwości interpretację problemu nadałeś Ty swoim postem, a nie autor a zestawienie funkcji preg_match i strpos przy wyszukiwaniu może we mnie budzić co najwyżej wrażenie że @Thomashek nie zupełnie wie o czym piszę pytanie o porównanie ich wydajności też jest dość absurdalne gdyby użytkownik miał świadomość ich działania PS. testy wydajnościowe można sobie zrobić łatwo samemu szczególnie że nie potrzebujesz zbyt wyrafinowanych danych wejściowych |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:48 |