Comunidad de diseño web y desarrollo en internet online

Como extraigo texto de una cadena href

Citar            
MensajeEscrito el 27 Feb 2013 02:41 am
Tengo una duda, se que es con regexp pero la vdd no encuentro como

tengo que obtener de este tipo de cadenas de href:

http://sitioweb.com/index.php?mact=Products,cntnt01,default,0&cntnt01categoryid=1&cntnt01categoryname=ACEROS&cntnt01returnid=20

Y de aqui tengo que extraer categoryid=1

Hasta ahora lo unico que obtengo es separar dos cadenas a partir del ? pero luego no se como buscar un string que varia ( categoryid=1, categoryid=12, categoryid=35, etc... )

Por comicSans

Claber

151 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Feb 2013 10:44 am
Con regexp es sencillo:

Código Javascript :

var regexp = new RegExp(/(.*)categoryid=(.*)&(.*)/i),
    results = regexp.exec(texto),
    id = results[2];

console.log('id = '+id);
// id = 1

Aún así, si en el futuro vas a necesitar mas variables de los parámetros, yo te aconsejaría que a base de splits, te hicieras un objeto con todos los parámetros.

Código Javascript :

var texto = 'http://sitioweb.com/index.php?mact=Products,cntnt01,default,0&cntnt01categoryid=1&cntnt01categoryname=ACEROS&cn',
    partes = texto.split('?'),
    paramStr = partes[1],
    paraArr = paramStr.split('&'),
    paraOb = {};

console.log(partes);
/**
    Array[
        "http://sitioweb.com/index.php",
        "mact=Products,cntnt01,default,0&cntnt01categoryid=1&cntnt01categoryname=ACEROS"
    ]
**/

console.log(paramStr);
/* 'mact=Products,cntnt01,default,0&cntnt01categoryid=1&cntnt01categoryname=ACEROS' */

console.log(paraArr);
/**
    Array[
        "mact=Products,cntnt01,default,0",
        "cntnt01categoryid=1",
        "cntnt01categoryname=ACEROS"
    ]
**/

for (para in paraArr) {
    var splitted = paraArr[para].split('=');    
    paraOb[splitted[0]] = splitted[1];
}
    
console.log(paraOb);
/**
    Object{
        mact: "Products,cntnt01,default,0",
        cntnt01categoryid: "1",
        cntnt01categoryname: "ACEROS",
        cn: undefined
    }
**/

Espero te haya servido,
Un saludo!.

Por Abducted

Claber

489 de clabLevel

3 tutoriales

Genero:Masculino  

Mentalidad Renovada

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.