|
521
|
Programación / PHP / Re: Mostrar caracteres con acento y que salen con simbolo ?
|
en: 14 Enero 2011, 21:38 pm
|
Si establece un juego de carácter a la directiva default_charset del php.ini, no es necesario mandar manualmente el juego de carácter en todo los archivos, ya que default_charset lo mandara. InfoEs recomendable no filtrar los datos que se guardaran en la DB, debes filtrarlo cuando lo vayas a mostrar. Saludos.
|
|
|
523
|
Programación / PHP / Re: Ayuda con preg_replace() !!
|
en: 14 Enero 2011, 21:15 pm
|
no puedes usar preg_replace, simplemente devolverá M y no se ejecuta la función date... <?php echo preg_replace('/^DATE\(([^\s]+)\s([^\)]+)\)$/',"date($2);", 'DATE(FECHA M)'); ?>
Salida: Lo mejor seria ocupar preg_match y funciona... <?php $string = 'DATE(FECHA M)'; preg_match('/^DATE\(([^\s]+)\s([^\)]+)\)$/', $string, $result); echo date($result[2], $db[$result[1]]); ?>
Saludos.
|
|
|
524
|
Programación / PHP / Re: Algo raro con ExpReg
|
en: 14 Enero 2011, 01:19 am
|
<?php $sExpReg = "/[a-zA-Z]*/"; if(preg_match($sExpReg, '1ho la2')){ echo 'Si'; } else { return 'No'; } ?>
Salida: Esa patrón [a-zA-Z]*, solo busca que existan carácter de la A hasta la Z, no importa que sea en el medio, al principio o al final, porque no le indicas que la cadena solo deba existir carácter de la A hasta la Z, solo que PUEDA existir carácter y si no existe dara por valida la la regexp debido al cuantificador *. <?php $sExpReg = "/[a-zA-Z]*/"; if(preg_match($sExpReg, '12')){ echo 'Si'; } else { return 'No'; } ?>
Salida: Saludos.
|
|
|
525
|
Programación / PHP / Re: Ayuda con preg_replace() !!
|
en: 13 Enero 2011, 00:55 am
|
Te espero en el IRC de elhacker, si lo solucionas ps pones la solucion en el post...
Mañana hablamos xD, estaré en el IRC al rededor de las 11, hora del foro y de españa.
|
|
|
526
|
Programación / PHP / Re: Ayuda con preg_replace() !!
|
en: 13 Enero 2011, 00:42 am
|
Quizas no captures nada... Debes estar seguro de la regexp porque pueda que no funcione correctamente y nose si funciona bien o mal porque nose que datos puede contener la variable $box. [Wed Jan 12 17:32:28 2011] [error] [client ::1] PHP Notice: Undefined index: $1 in /home/diabliyo/public_html/moneybox /modulos/ioscripts.php on line 276, referer: http://localhost/diabliyo/moneybox/?id=facturas&c=listSe debe a esto: date("'${2}'", $db['$1'])
Debería ir así: date("'${2}'", $db['${1}'])
Quizas esa sea la solucion, de todo modos pueda que no la sea porque nose que tipo de datos contiene $db.
|
|
|
527
|
Programación / PHP / Re: Ayuda con preg_replace() !!
|
en: 12 Enero 2011, 23:50 pm
|
Hazlo asi: <?php echo preg_replace('/DATE\(([^\)]+)\)$/i', '${1}', 'DATE(FECHA M)'); ?>
Salida: Donde ${1}, contiene el valor del primer paréntesis de captura. Lo que hago es capturar los datos que me interesa para luego ponerlo como el reemplazo, porque todo se borraria. <?php '/DATE\((.*?) (.*?)\)/is' ); ); ?>
Debes usar ${2} y no $2, te lo dije mas arriba. Le pasas otro argumento a la función date y nose que dato puede ser, por eso te dije que maquetees.
<?php $datos = 'DATE(FECHA M)'; # ojo DATE() en mayusculas no se interpreta como funcion //Reemplazo la palabra mundo por yoya ?>
Pusiste ese código, pero no lo podre usar, porque tendría que hacer una conexión MYSQL y una consulta y nose que otra cosa para poder darle un valor a la variable $buf que no se que tipo de datos pueda contener ni como seria el formato. Si usas este: <?php $buf = 'hola mundo';//Datos que recivo| Dato original, sin modificaciones //Reemplazo la palabra mundo por yoya ?>
Tengo todo los datos claro y funcionara.
|
|
|
528
|
Programación / PHP / Re: Ayuda con preg_replace() !!
|
en: 12 Enero 2011, 23:11 pm
|
<?php $boxs= preg_replace('/DATE\((.*?) (*?)\)/is', 'hola', $box); ?>
Me sale el mismo error: PHP Warning: preg_replace(): Compilation failed: nothing to repeat at offset 13 in /home/diabliyo/public_html/moneybox Se debe al segundo paréntesis de captura: Con esto bastaría <?php $boxs= preg_replace('/DATE\((.*?) (.*?)\)/is', 'hola', $box); ?>
Aquí el error: <?php 273 '/DATE\((.*?) (*?)\)/is' 274 ); 275 $cad_remplazo= array( 276 date( "'$2'", $db['$1'] ) 277 ); 278
Hazlo asi: <?php echo preg_replace('/DATE\(([^\)]+)\)$/i', '${1}', 'DATE(FECHA M)'); ?>
Salida: Donde ${1}, contiene el valor del primer paréntesis de captura. Lo que hago es capturar los datos que me interesa para luego ponerlo como el reemplazo, porque todo se borraria. <?php echo preg_replace('/DATE\(([^\)]+)\)$/i', '', 'DATE(FECHA M)'); ?>
Si lo dejo así, me borraría todo. Saludos.
|
|
|
529
|
Programación / PHP / Re: Ayuda con preg_replace() !!
|
en: 12 Enero 2011, 22:10 pm
|
Puedes poner uno o dos ejemplos de los datos que recibes y poner como quieres que te queden los datos. En este tipo de problema, siempre es mejor maquetear tu problema. Ejemplo: <?php $datos = 'hola mundo';//Datos que recivo| Dato original, sin modificaciones //Reemplazo la palabra mundo por yoya ?>
Así es mas fácil de entender, y no poner de donde puede provenir el valor de la variable $datos. Solo indico la cadena original y como deseo que quede...
|
|
|
530
|
Programación / PHP / Re: De un archivo con comandos a array ?
|
en: 11 Enero 2011, 22:40 pm
|
<?php $file= 'comandos.txt'; { $buf= fgets( $fp, 2048); # leemos # si es distinto de comentario, vacio o salto de linea, leemos $comandos[] = $buf; # estoy imprimiendo comando, PERO QUIERO METERLO A UN ARRAY } ?>
Salida: Array ( [0] => color=#000000 [1] => font=mifont.ttf [2] => web=www.mipagina.com )
|
|
|
|
|
|
|