![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 19.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam być może z pozoru prosty problem. Podaje tekst do przefiltrowania. Powiedzmy, że jest on fragmentem źródła strony.
I wyrażenie regularne :
Chce podmienić wszystkie hrefy jeżeli nie zawierają w sobie "http://" na http://podmien.pl/skryp.php?itd jeżeli href zawiera w sobie http:// ma pozostać bez zmian. Używając podanego regexpa, linki ze skrypt.php zamienia mi ale ucina pierwsza literę i zostaje http://podmien.pl/krypt.php natomiast <a href="http://strona.pl" title="jakis tytu">strona link</a> zostawia bez mian tak ja chciałem. Jeżeli zmienię regexpa na :
czyli bez pierwszego cudzysłowia linki ze skrypt.php juz nie są ucinane ale za to href="http://strona.pl" title="jakis tytu" zamienia na href="http://podmien.pl/http://strona.pl" title="jakis tytu" Chodzi mi tylko o ten problem. Bardzo proszę nie dawać mi linków do tutoriali itp. mówić żebym sobie przykłady poczytał bo już mam to za sobą. Po prostu nie potrafię zrozumieć ustalania tych reguł. Czy ktoś ma pomysł jak to poprawić? Ten post edytował reegen 27.11.2007, 16:10:07 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
zwracam honor reegen - moje rozwiązanie nie działało poprawnie na kodzie treści którą pokazałeś, sprawdzałem to na prostszych przypadkach... problem okazał sie niebanalny, bo wyrażenia regularne (o ile wiem) nie wspierają wyszukiwania negatywnego typu NIE 'http'...
ale na wszystko można znaleźć haka (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) poniższe rozwiązanie może nie jest superoptymalne, ale działa bezbłędnie na treści którą podajesz:
baw się dobrze |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 11:35 |