Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 22.07.2010 Ostrzeżenie: (0%)
|
witam,
potrzebuję pomocy z wyszukiwaniem po wyrażeniach regularnych. Sprawa wygląda następująco: Przeszukuję artykuły pod kątem określonego słowa kluczowego, np. "internet". Jeśli słowo zostanie odnalezione, jest ono obejmowane znacznikami [link] z określonym ID, w efekcie końcowym otrzymuję: "jakiś tekst artykułu [link=12345]internet[/link] inny tekst". Wszystko ok, ale do czasu.. gdy ponownie zechcę znaleźć to samo słowo kluczowe. Jeśli słowo "internet" jest już objęte znacznikiem [link], to nie może ono zostać wyszukane drugi raz i ponownie objęte znacznikiem. Powinno zostać zamienione kolejne pasujące w artykule słowo, jeśli istnieje jeszcze jakieś "wolne" pasujące. Zatem jak wyłączyć z wyników wyszukiwania słowa już objęte znacznikami [link=ID][/link]? Lub inaczej: jak sprawdzić czy w tekście jest wolne słowo kluczowe (nie objęte [link]) i objąć je nowym znacznikiem? Próbowałem coś kombinować z wyrażeniem regularnym: #\[link=.*?\](.*?)\[/link\]#si za jego pomocą przy wyświetlaniu artykułu zamieniam przez preg_replace_callback() słowa objęte [link] na odnośniki. Może da się jakoś to łatwo przekształcić, by wyszukiwało wszystkie pasujące oprócz już objętych znacznikami? pozdrawiam |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 150 Pomógł: 15 Dołączył: 1.07.2010 Ostrzeżenie: (0%)
|
Można zrobić podobnie jak w tagu na pogrubienie:
|
|
|
|
![]() ![]() |
|
Aktualny czas: 20.08.2025 - 03:32 |