Autor
|
Tema: expresion regular selección entre varias palabras (Leído 6,354 veces)
|
kinos
Desconectado
Mensajes: 104
|
Buenas: ¿Cómo puedo hacer una expresión regular para que me indique si $palabra pertenece al grupo de palabras admitidas? Es que esta expresión permite palabras como "netttt", "comfjhg", "orgreja" y estas no deberían ser aceptadas. function es_palabra_valida($palabra) { if (ereg("(com|net|org)", $palabra)) { echo "La palabra $palabra es correcta<br>"; return true; } else { echo "La palabra $palabra no es válida<br>"; return false; } }
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
especifica un poco mas, y no use ereg ya es una función obsoleta ahora se usa preg_match...
Quieres que com, net y org este al final de la palabra... Trata de especificar lo que quieres hacer...
|
|
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
kinos
Desconectado
Mensajes: 104
|
ok.
No al final sino que me devuelva true o false si está en este grupo {com, net, org}.
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
que grupo¿¿?? si la palabra a pasar es: hcomla te la acepta Ej: <?php $palabra = 'hcomasa'; { echo 'si'; } ?>
Salida: Dame un ejemplo de lo que quieres hacer...
|
|
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
Shell Root
|
Igual debería ser al final de la cadena. Por ejemplo, Correctas, www.google.org www.google.com www.google.net No correctas, www.google.org.edu www.google.com.co www.google.net.gov (com|net|org)$
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
kinos
Desconectado
Mensajes: 104
|
Haber si me explico mejor... Correctas: net com org No correctas: comunidad orgullo www.google.comwww.google.netNo se si una expresión regular sería la forma mas correcta, quizás con guardar en un array {net, com, org} y comparar $palabra con cada una para saber si es una de ellas. Quiero utilizar la expresión regular mas que nada por comodidad y por si es mas eficiente.
|
|
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
<?php $host = array('google.com','www.google.org','www.google.org.edu','www.google.com','www.google.org.gov'); foreach($host as $result) { if(preg_match('/\.?[com|net|org]$/i',$result, $captura)) { echo "Valida-> $result<br />"; }else{ echo "No valida-> $result<br />"; } } ?>
Salida: Valida-> google.com Valida-> www.google.org No valida-> www.google.org.edu Valida-> www.google.com No valida-> www.google.org.gov
|
|
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
kinos
Desconectado
Mensajes: 104
|
a ver que estamos rizando el rizo... Correctas: "nada por delante"com"nada por detrás" "nada por delante"net"nada por detrás" "nada por delante"org"nada por detrás" No correctas: www.google.org.govwww.google.comwww.google.org.eduwww.google.orgcomunidad orgullo www.google.comwww.google.netÚnicamente son correctas las palabras com, net, org. Las palabras no correctas son todas las demás ya lleven "com" "net" "org" incluida en alguna parte ya sea delante, en medio, al final, o no lo lleven. Correctas: if(palabra == "com" || palabra == "net" || palabra =="org"){ //es correcta }else{ //no es correcta }
|
|
« Última modificación: 21 Septiembre 2010, 00:38 am por kinos »
|
En línea
|
|
|
|
kinos
Desconectado
Mensajes: 104
|
Lo tengo ~ Yoya ~ : <?php $host = array('com','net','org','google.com','www.google.org','www.google.org.edu','www.google.com','www.google.org.gov'); foreach($host as $result) { if(ereg('^(com|net|org)$',$result, $captura)) { echo "Valida-> $result<br />"; }else { echo "No valida-> $result<br />"; } } ?>
Salida: Valida-> com Valida-> net Valida-> org No valida-> google.com No valida-> www.google.orgNo valida-> www.google.org.eduNo valida-> www.google.comNo valida-> www.google.org.govLo único que con preg_match no me lo hace bien, no se porque... Gracias.
|
|
« Última modificación: 21 Septiembre 2010, 01:38 am por kinos »
|
En línea
|
|
|
|
~ Yoya ~
Wiki
Desconectado
Mensajes: 1.125
|
Que raro xD <?php $host = array('com','net','org','google.com.net','www.google.org','www.google.org.edu','www.google.com','www.google.org.gov'); foreach($host as $result) { echo "Valida-> $result<br />"; }else { echo "No valida-> $result<br />"; } } ?>
|
|
|
En línea
|
Mi madre me dijo que estoy destinado a ser pobre toda la vida. Engineering is the art of balancing the benefits and drawbacks of any approach.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Ayuda con Expresión Regular
Desarrollo Web
|
Shell Root
|
4
|
4,421
|
10 Abril 2011, 22:26 pm
por Shell Root
|
|
|
Seleccionar con explode varias palabras
PHP
|
dimitrix
|
2
|
2,456
|
20 Junio 2012, 14:08 pm
por dimitrix
|
|
|
Expresión regular para buscar palabras con mayúsculas,minúsculas y con Acentos
Programación General
|
cyberserver
|
1
|
3,397
|
15 Marzo 2013, 07:41 am
por cyberserver
|
|
|
como elimino espacio entre letras sin eliminar espacios entre palabras?
Scripting
|
binario010101
|
4
|
5,002
|
11 Noviembre 2013, 08:16 am
por Almapa
|
|
|
identificar varias palabras en una oracion
Programación Visual Basic
|
asdexiva
|
6
|
3,386
|
27 Noviembre 2014, 22:56 pm
por asdexiva
|
|