![]() |
![]() |
![]()
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Za wszelką pomoć będę bardzo wdzięczny (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Nic z tego ;-). Napisałem sobie regułkę, która wyczytuje wszystko z tagów <a></a> i <img /> i z tego co pomiędzy nimi i chciałem to jakoś zanegować i potem z reszty obszaru wybrać słowa test (oczywiście te samotne, które nie są częścią innych wyrazów :-) ) ale nie mam pojecia jak to zanegować. Nie wiem też czy już za bardzo nie zacząłem kombinować i iść w złą stronę z tym wyrażeniem :-). Oto wyrażenie do wyciąganie tego co jest w tagach i muszę to zanegować ale nie mam jak:-/: <a\b[^>]*>(.*?)<\/a>|<img\b[^>]*>(.*?) Odnośnie zdefiniowania czego nie powinno być na końcu i na początku- może być wszystko. Jedynym ograniczeniem jest to żeby nie wyciągać wyrazu i go nie zamieniać jeśli jest w tagach bo rozjedzie się cały html. Jeśli jest to wyraz samotny można go zamienić. Z góry dzięki za pomoc.
Pozdrawiam. Ten post edytował czjakub 22.10.2008, 07:54:28 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 10:37 |