Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Upierdliwa walidacja linków, czyli jak zamienić & na & ?
messmaker
post
Post #1





Grupa: Zarejestrowani
Postów: 106
Pomógł: 5
Dołączył: 5.12.2008

Ostrzeżenie: (0%)
-----


Przykładowo, mam dany link:
  1. <a href="?a=1&b=2">link</a>


Walidator wypluje ostrzeżenie, że należy zamienić & na &amp;. Żaden problem, str_replace i po robocie. Problem się zaczyna jednak w momencie, gdy mamy do czynienia z linkiem pokroju:
  1. <a href="?a=1&b=2">&nbsp;link&nbsp;</a>


W tym momencie str_replace sprawi, że na stronie wyświetli się właśnie &nbsp;link&nbsp;.

Czy mógłbym prosić kogoś obeznanego w wyrażeniach regularnych o gotową preg_replace zamieniającą "&xxx=" na "&amp;xxx=", rzecz jasna niezależnie od xxx?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
messmaker
post
Post #2





Grupa: Zarejestrowani
Postów: 106
Pomógł: 5
Dołączył: 5.12.2008

Ostrzeżenie: (0%)
-----


Udało się inaczej:

  1. $page=preg_replace("#\&[a-zA-Z0-9]\=#si", "&\\1=", $page);


Mimo wszystko dzięki za pomoc!

Ten post edytował messmaker 19.02.2010, 20:35:37
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 11:12