Autor
|
Tema: Acceder al parametro array de preg_match_all (Leído 2,408 veces)
|
franfis
Desconectado
Mensajes: 248
|
Hola amigos, en el siguiente codigo: <?php $nombre=array("primero","esg/ndo","tercero","cu\rto","qui\"n\"to","sexto","septi*o","octavo","noveno"); for($i=0;$i<=8;$i++){ preg_match_all("/.*?([\\/:\*\?\"<>|])/", $nombre[$i] ,$out, PREG_PATTERN_ORDER ); } ?>
Estoy intentando acceder a los caracteres que / \*?:<>| que son los que windows no acepta como nombre de archivo. El resultado del codigo es; 0 => 1 => 0 => 0 => string 'esg/' (length=4) 1 => 0 => string '/' (length=1) 0 => 1 => 0 => 1 => 0 => 0 => string 'qui"' (length=4) 1 => string 'n"' (length=2) 1 => 0 => string '"' (length=1) 1 => string '"' (length=1) 0 => 1 => 0 => 0 => string 'septi*' (length=6) 1 => 0 => string '*' (length=1) 0 => 1 => 0 => 1 =>
Como podria acceder a *, /, " dentro del for? Gracias por cualquier sugerencia.
|
|
« Última modificación: 23 Marzo 2014, 19:17 pm por #!drvy »
|
En línea
|
|
|
|
#!drvy
|
No entiendo el propósito de esto. Ni el sentido ni nada... podrías explicarte ? ¿A que te refieres con "acceder a" ?
PD: Si solo vas a recorrer un array usa foreach en vez de for.
Saludos
|
|
|
En línea
|
|
|
|
franfis
Desconectado
Mensajes: 248
|
Me refería a como imprimir con echo a los caracteres especificados en el regex por ejemplo al asterisco o a la comilla, como estaba en array de arrays. Pero este código. if(preg_match_all("/[\\/:\*\?\"<>|]/", $nombre[$i] ,$out, PREG_PATTERN_ORDER)==true)
for ($z = 0;$z < count($out);$z++){ for ($x = 0;$x < count($out[$z]);$x++) { echo $out[$z][$x]." ------- ".$nombre[$i]."<br>"; } } Creo que soluciona mi pregunta, sin ningún grupo de captura en el regex el array $out es mas simple de manejar. Esos caracteres son los que dan error cuando intetas asignar como nombre de archivo o carpeta en windows. Saludos
|
|
« Última modificación: 24 Marzo 2014, 23:49 pm por franfis »
|
En línea
|
|
|
|
#!drvy
|
Me alegro de que lo hayas solucionado.. pero estas cometiendo crímenes contra la humanidad usando el for de ese modo ·_·
Saludos
|
|
|
En línea
|
|
|
|
engel lex
|
Me alegro de que lo hayas solucionado.. pero estas cometiendo crímenes contra la humanidad usando el for de ese modo ·_·
Saludos
cierto... que tal si simplificas un poco con foreach... $nombre = array("primero", "esg/ndo", "tercero", "cu\rto", "qui\"n\"to", "sexto", "septi*o", "octavo", "noveno"); foreach ($nombre as $valor) { preg_match_all("/.*?([\\/:\*\?\"<>|])/", $valor, $out, PREG_PATTERN_ORDER ); foreach ($out as $primero) { foreach ($primero as $segundo) { echo $segundo . " ------- " . $valor . "<br>"; } } }
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
como crear un array de parametro?
Programación Visual Basic
|
ricardovinzo
|
1
|
2,013
|
20 Octubre 2008, 06:33 am
por cassiani
|
|
|
[SOLUCIONADO] Pasar array como parámetro.
Java
|
NetJava
|
3
|
23,251
|
15 Febrero 2011, 21:55 pm
por Debci
|
|
|
Al pasar un array por parametro a una funciona ¿se pasa una copia?
Programación C/C++
|
Aikanáro Anário
|
3
|
3,480
|
27 Septiembre 2012, 13:38 pm
por Don Pollo
|
|
|
Acceder a bits de un array.
Programación C/C++
|
0xDani
|
6
|
2,956
|
24 Octubre 2012, 18:24 pm
por 0xDani
|
|
|
[Resuelto] No puedo acceder a parametro de mi peticion $http en mi backend PHP
Desarrollo Web
|
Razzari
|
9
|
4,108
|
26 Agosto 2017, 00:59 am
por Razzari
|
|