Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 183 Pomógł: 0 Dołączył: 19.05.2007 Ostrzeżenie: (0%)
|
Witam. Mam pewną zagwostkę. Powiedzmy, że mam taki tekst:
Jakie wyrażenie zastosować, by zostawić tylko 1/2/3/4/X linki w tym tekście, a pozostałe zlikwidować i zostawić tylko tekst pomiędzy <a></a> ? Oczywiście przyjmując, że:
Czyli np dla "pseudofunkcji" zostaw_linki(2) efekt (dla tekstu powyżej) byłby:
Ten post edytował barat 8.12.2009, 10:11:14 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D |
Zarzucę jak ja to widzę algorytmem (IMG:style_emoticons/default/smile.gif)
1. Wykonaj w pętli: a) znajdź w stringu pozycję </a> (IMG:style_emoticons/default/cool.gif) dodaj do znalezionej pozycji długość </a> c) wykonaj tyle razy ile masz w limicie linków. 2. Używając wyrażeń regularnych w pozostałej reszcie usuń znaczniki A wraz z atrybutami, zostawiając treść. Ale można prościej (IMG:style_emoticons/default/smile.gif) 1. Podziel string na tablicę używając jako delimitera </a> i dając jej maksymalnie LIMIT+1 elementów 2. Jeśli wynikowa tablica ma mniej niż LIMIT+1 elementów zostaw w spokoju. 3. Z ostatniego elementu tablicy usuń wszystkie A z atrybutami, pozostawiając jednak treść pomiędzy tagami A 4. Scal tablicę używając do łączenia </a> Drugi choć wydaje się dłuższy powinien być szybszy i prostszy w implementacji (IMG:style_emoticons/default/smile.gif) |
|
|
|
barat [PHP][Regexp] Zostaw tylko (X) linków w tekscie 8.12.2009, 10:09:37
thek 1. Najpierw policz ile tych linków jest (choćby pr... 8.12.2009, 10:46:29
tvister Przychodzi mi do głowy improwizacja kombinacją pre... 8.12.2009, 11:07:32
zegarek84 preg_replace_callback - użyj tej słusznej funkcji,... 8.12.2009, 11:49:00
thek Zegarek... Też o tym myślałem, ale gdzie przechowa... 8.12.2009, 11:58:04
zegarek84 podałem przykąłd jak użyć callback do obiektów bez... 8.12.2009, 12:05:36
thek Jeśli nie bazujemy na żadnym ograniczaniu to owsze... 8.12.2009, 13:25:16 
zegarek84 Cytat(thek @ 8.12.2009, 13:25:16 ) ..... 8.12.2009, 16:37:53
barat Dla potomnych będzie - działa
[PHP] pobierz, pla... 8.12.2009, 18:22:00
zegarek84 tyle, że dając odrazu gotowca nic się nie nauczysz... 8.12.2009, 22:36:01
barat EDIT:
=======================
Ok ... jednak już ws... 18.12.2009, 12:23:41 ![]() ![]() |
|
Aktualny czas: 16.06.2026 - 12:10 |