Google
Web dns.bdat.net

[PHP-ES] Ayuda con Preg_match

Write haof XML files: Amador Cubino ( acubino3(EN)necostek.com)
Fecha: jue 03 feb 2005 - 11:46:09 CET


Hola.

Me surgio la necesidad de buscar un codigo en un codigo fuente de una
pagina web que puede tener muy diversas formas de expresarlo.

Por lo tanto me puse a usar la funcion preg_match

$fuente = "fasdfsajkd\dafnsfd?sid=cubi939439;fa fhdajksf hsar429r8e";
preg_match("/[?sid=|&sid=|&sid=]+([a-zA-Z-0-9])+[\"|
|;|\n|\r]/",$fuente,$partes);
echo "parte 0 - ".$partes[0]."<br>";
echo "parte 1 - ".$partes[1]."<br>";

Mi idea es que el codigo me devuelva 1 resultado que empiece por ?sid o
por &sid o por &amp;sid=
Esto debe ir seguido de caracteres alfanumericos que son los que
realmente me interesan
Y todo ello debe finalizar con una ", un espacio, ; o un \n o \r

Pues bien la parte 0 me la da correctamente puesto que muestra:
parte 0 - d?sid=cubi939439;
parte 1 - 9

El problema que no me da bien la parte 1 que es la que realmente me
interesa. En la documentacion de PHP dice que la parte 1 seria
"$matches[1] tendrá la cadena que empareje con el primer subpatrón que
esté entre paréntesis y así sucesivamente.".
En mi caso he puesto entre parentesis el patron alfanumerico, por lo
tanto yo supuse que deberia devolverme cubi939439 pero sin embargo me
devuelve el numero 9. Cosa que no entiendo.

Alguien me puede decir el porque de esto?.

Gracias

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


Este archivo fue generado por hypermail 2.1.7 : sáb 19 mar 2005 - 01:01:24 CET