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%)
-----


Ach...
Kod
<script>
function sort(param, value)
{
   // var url = new URI();  
   // var query = url.get('query');
   var query = "?abc=a&sort[faculty_id]=12";
    var newQuery = [], match = 0;
    
    var reg = new RegExp("("+param+")=[a-zA-Z0-9_]+", "g");
    //query.split('&').each(function(item){
    var y = query.split('&'),item;
    for(item in y){
        if(y[item].match(reg) != null)
        {
            //zamień w param \\ na \;
            y[item] = param +'='+ value;
            match = 1;
        }
        newQuery.push(y[item]);  
    }  
    if(match == 0)
    {
        newQuery.push(param +'='+ value);
    }
    alert( newQuery.join('&') );
}

sort('sort\\[faculty_id\\]', 32);
</script>
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: 10.10.2025 - 08:29