![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 2.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
witam,
mam stronę piłkarską i są na niej m.in. dwa działy: Aktualności i Kluby Chciałbym aby była taka możliwość: Dodaję jakiegoś newsa, skrypt sam przeszukuje treść pobraną i jeżeli w tekście znajdzie nazwę zespołu, która jest w katalogu Klubów to automatycznie utworzy link do tego wpisu w katalogu. W ogóle zastanawiam się czy jest to możliwe? :-) |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 264 Pomógł: 54 Dołączył: 31.08.2007 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Najprostszy sposób to str_replace(), tylko musisz sobie odpowiednie tablice przygotować.
Tutaj szybki przykład żeby dać pogląd na rozwiązanie: http://codepad.org/cKx7HoWw |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 2.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
a jak to teraz napisać aby zespoły pobierał z mysql (wszystkie) i na tej podstawie sprawdzał czy dany zapis istnieje i podmieniał linki w wyświetlanym newsie?
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat a jak to teraz napisać aby zespoły pobierał z mysql (wszystkie) No ale co, z bazy nie umiesz pobrac danych?Pobierasz z bazy zespoły, zapisujesz do tablicy i robisz str_replace |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 2.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
problem mam jeszcze z nazewnictwem zespołów.
Bo chodzi o to, że czasami nie napiszę takiej nazwy jak w katalogu tylko inną. Wymyśliłem sobie coś takiego, że w tekście napiszę:
i skrypt zamieni na coś takiego:
i jak to wszystko ugryźć? :-) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 2.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
unexpected T_FUNCTION ...
literówka? ale dzięki, dokładnie o to mi chodziło :-) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Jaką masz wersję PHP? Bodajże od 5.3 można używać anonimowych funkcji
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 0 Dołączył: 2.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
jest błąd przy kilku zespołach w jednej informacji:
kod:
daje taki efekt:
co może być tego przyczyną? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 142 Pomógł: 49 Dołączył: 29.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Należy zmodyfikować wyrażenie regularne tak, żeby odpowiednie wyrażenia pracowały jako "ungreedy" - załatwia się to znakiem "?" lub modyfikatorem "U". Czyli tak:
'#\[(.*)=(.*)\]#U' lub tak: '#\[(.*?)=(.*?)\]#' EDIT: chodzi o to, że ten pierwszy (.*) w Twoim przykładzie nie wyszukuje, tak jak byś się spodziewał, "100", tylko "100=Czerwona] pokonała drużynę [112" (do napotkania DRUGIEGO znaku "="). EDIT: jest jeszcze jeden błąd: Nie
tylko
$matches[0] zawiera cały ciąg, który pasuje do wyrażenia. Ten post edytował skarabe.pl 16.06.2014, 18:02:41 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 07:26 |