Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Traduzione php > js (preg_replace)

    Ciao a tutti,
    come si traduce questa istruzione php in js:
    codice:
    preg_replace("#order=[1-9]{1,}#si",'order=x',$txt)
    Gazie, ciao!

  2. #2
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    var txt = "#order=14854941#si";
    txt = txt.replace(/#order=[1-9]{1,}#si/, "order=x");
    alert(txt);
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  3. #3
    testo.replace(/order=[1-9]{1,}/gi, 'order=x')

    ma credo ti sia scordato qualcosa nella versione php ... o meglio, non capisco l'utilità di questa preg, in php come in js
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  4. #4
    Effettivamente ho commesso un errore.. questo quello che ho ora:
    codice:
    <select name="order" id="order" onchange="window.location.href=window.location.href.replace(/order=[1-9]{1,}/gi, \'order=\'+document.getElementById(\'order\').value);">
    Funziona prorpio come volevo se l'url della pagina è in questa forma:
    Codice PHP:
    http://www.dominio.it/directory/index.php?id=5&base=0&order=2&casa=1 
    Se invece l'url è così:
    Codice PHP:
    http://www.dominio.it/directory/index.php?id=5&base=0&casa=1 
    Non mi appende order=x...

    Si riesce a farlo su nell'onchange senza dover fare una funzione che analizza il window.location.href?

    Ciao!

  5. #5
    <select name="order" id="order" onchange="var order = this.value;location.href=location.href.replace(/&order=[1-9]{1,}/i, '&order='+order);">
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

  6. #6
    Non cambia nulla... è molto più compatto il tutto, ma si comporta in maniera identica a prima..

  7. #7
    Ho risolto così:
    codice:
    function appendOrder(url,value){
    	if ( url.indexOf('order') != -1 ){
    		return url.replace(/&order=[1-9]{1,}/i, '&order='+value);
    	}
    	return url+'&order='+value;
    }
    Avrei preferito fare tutto senza una funzione esterna ma temo che nn ci si riesca..

    Grazie, ciao!

  8. #8
    Originariamente inviato da superpelo
    Non cambia nulla... è molto più compatto il tutto, ma si comporta in maniera identica a prima..
    in effetti sono idiota perchè se non c'è non fa replace di un bel niente ... scusami
    codice:
    function appendOrder(url,value){
    	var	re = /&order=[1-9]{1,}/i,
    		o = '&order='.concat(value);
    	return re.test(url) ? url.replace(re, o) : url.concat(o);
    };
    più o meno come la tua
    Formaldehyde a new Ajax PHP Zero Config Error Debugger

    WebReflection @WebReflection

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.