Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrażenia regularne nawias kwadratowy itp.
skowron-line
post
Post #1





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Witam jako że dupa ze mnie nie znawca wyrażeń regularnych proszę was o pomoc w napisaniu warunku który znajdzie mi coś takiego
Napisałem sobie taką funkcję
[JAVASCRIPT] pobierz, plaintext
  1. function sort(param, value)
  2. {
  3. var url = new URI();
  4. var query = url.get('query');
  5. var newQuery = [], match = 0;
  6.  
  7. var reg = new RegExp("^("+ param +"=)\w{1,}$"); // jakaś moja rzeźba
  8. query.split('&').each(function(item){
  9. if(item.match(reg) != null)
  10. {
  11. item = param +'='+ value;
  12. match = 1;
  13. }
  14. newQuery.push(item);
  15. });
  16. if(match == 0)
  17. {
  18. newQuery.push(param +'='+ value);
  19. }
  20.  
  21. url.set('query', newQuery.join('&'));
  22. url.toURI().go();
  23. }
[JAVASCRIPT] pobierz, plaintext

i teraz chce teraz żeby, wyrażenie znalazło w latających w pętli stringach ciąg podany jako param i dodany do tego znak równości a na końcu w może być coś.

Z góry dziękuje za odpowiedz.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kamil4u
post
Post #2





Grupa: Zarejestrowani
Postów: 2 350
Pomógł: 512
Dołączył: 4.01.2009
Skąd: Wrocław / Świdnica

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


Czyli musisz zamienić te zmienne na np. sort\[faculty_id\], sort\[12\], natomiast samo "sort" powinno już Ci działać. Tak więc użyj przed:
var reg = new RegExp("^("+ param +"=)\w{1,}$"); // jakaś moja rzeźba

Funkcji replace na zmiennej parm i pozamieniaj znaki specjalne dodając przed nimi \, nie zapomnij o fladze "g".

Tu przydatna stronka: http://www.egrafik.pl/kurs-regex-wyrazenia-regularne/ <- masz tam podane znaki specjalne.

Ten post edytował kamil4u 3.10.2010, 19:15:49
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 11.10.2025 - 00:46