![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 21.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam takie zadanko: muszę zamienić pewne słowa kluczowe na linki. Np. słowo "test" na <a href="www.wp.pl">test</a>. Niby proste, ale musze unikać sytuacji, w której mogła by nastąpić zmiana słowa protest na pro<a href="www.wp.pl">test</a> lub <a href="www.test.pl">Jakiś tekst</a> na <a href="www.<a href="www.wp.pl">test</a>.pl>Jakiś tekst</a> itd itp. Muszę rozwiązać to wyrażeniem regularnym. Powinno ono "wyciągać" wszystkie słowa kluczowe (w naszym wypadku) test ale tylko wtedy jeśli nie znajdują się między znacznikami <a></a> i w znaczniku <img>, oraz słowo kluczowe nie występowało w większym słowie czyli test w protest. Trochę to zakręcone może, ale siędzę nad tym już ładnych parę godzin. Przypominam: w grę wchodzi tylko regex żadne wyrzucanie linków w których występują słow kluczowe do tablicy ani inne takie ![]() ![]() Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
a nie wystarczy $x=str_replace(' test ','<a href=test>a</a>',$x); ?
Sprawdza tylko samotne test bo na początku i końcu jest spacja ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
a co jeśli to słowo jest na początku akapitu, na końcu zdania (czyli jest kropka itd...) ;p
zdefinij jeszcze w wyrażeniach regularnych czego nie powinno byc na poczatku i na końcu (jakich znaków) taki mały przykąłdzik z neta i spróbuj bo moze ci się to w przyszłości przydać - jak sobie nie poradzisz to później pomogę i napisze gotową: Cytat Znak '^' wpisany na pierwszym miejscu wewnątrz nawiasów kwadratowych oznacza negację całego zakresu, np.:
"^k.*[^w]a$" - reguły tego wyrażenia mogą spełniać słowa kora, koala, kura ale pewne niecenzuralne słowo ich nie spełnia :-)))) "[^0-9]*" - tutaj regułą jest by nie pojawiła się żadna cyfra -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 21.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Heh. Ten fragment, który zacytowałeś czytałem wiele razy
![]() Pozdrawiam. Ten post edytował czjakub 22.10.2008, 07:54:28 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 13:20 |