Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zamiana linkó z cudzysłowami
Forum PHP.pl > Forum > Przedszkole
knefelio
Mam krótki kod do zamiany linków, działa bardzo dobrze, pod warunkiem że nie ma w zamienianym linku cudzysłowów, wtedy do nich obcina link. Da sie to jakos obejść?

  1. $text = preg_replace("/(((f|ht){1}tp:\/\/)[-a-zA-Z0-9@:%\"\'*_\;\s()+.~#,?&\/\/=]+)/", "<a href=\"$1\">$1</a>", $text);
  2. $text = preg_replace("/([[:space:]()[{}])(www.[-a-zA-Z0-9@:%\"\'_\s\+.~#,?&\/\/=]+)/", "\"$1\"<a href=\"http:$1\">\\2</a>", $text);
lobopol
Co to znaczy link z cudzysłowiami? www.aaa.pl/index"ss"ss? To jest nieprawidłowy link, cudzysłów powinien być zakodowany w nim.
knefelio
Taki link mi się pojawia w przeglądarce i chciałem masowo je podmienić smile.gif

Jest opcja by zakodować taką podmianę w preg_replace?
lobopol
ok posłuchaj, jak w kodzie html umieścisz:
  1. <a href="wp.pl/aaaa"aaaaa"">aaa</a>

to to co jest w href to wp.pl/aaaa,a nie wp.pl/aaaa"aaaaa" bo wyskakujesz z cudzysłowu jeżeli
  1. <a href='wp.pl/aaaa"aaaaa"'>aaa</a>

to href będzie rzeyczywiście wp.pl/aaaa"aaaaa"

ale jak widzę twoje wyrażenie parsuje http://aa.pl"dd do <a href=\"http://aa.pl"dd\">http://aa.pl"dd</a>, ale pamiętaj, że w tym wypadku w href masz rzeczywiście http://aa.pl
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.