Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Wdeah en 17 Diciembre 2006, 21:39 pm



Título: Argument count
Publicado por: Wdeah en 17 Diciembre 2006, 21:39 pm
hola, necesito hacer una funcion que me devuelva los "argumentos" pasados por una cadena..
por ejemplo: la cadena es:

Código:
archivo.php parametro 0 "con espacios!"

devolveria:

Código:
Array
(
    [0] => archivo.php
    [1] => parametro
    [2] => 0
    [3] => con espacios!
)

seria una especie de linea de comando lo que tengo que parsear...
los argumentos van separados por espacios en blanco, en el caso de que un argumento contenga algun espacio, este debe ser encerrado entre comillas..

gracias


Título: Re: Argument count
Publicado por: alone-in-the-chat en 17 Diciembre 2006, 23:21 pm
hola, necesito hacer una funcion que me devuelva los "argumentos" pasados por una cadena..
por ejemplo: la cadena es:


no veo la pregunta pero  te dire que puedes usar la funcion explode para separar cada vez que encuentres un espacio en blanco y primero valida separar lo que se encuentre dentro de los " " ;) suerte


Título: Re: Argument count
Publicado por: Ertai en 17 Diciembre 2006, 23:32 pm
Código:
<?php
// Example 1
$pizza  = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
echo $pieces[0]; // piece1
echo $pieces[1]; // piece2

// Example 2
$data = "foo:*:1023:1000::/home/foo:/bin/sh";
list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data);
echo $user; // foo
echo $pass; // *
?>

explode es la función que más se asemeja a lo que tu quieres. Pero ojo! Las comillas de "con espacios!" van a estar en el array!

Saludos.