Foros del Web » Programando para Internet » PHP »

Problemas con expresiones regulares

Estas en el tema de Problemas con expresiones regulares en el foro de PHP en Foros del Web. buenas tardes disculpen mi ignorancia pero las expresiones regulares son algo complicadas para mí en estos momentos y es que necesito una de estas para ...
  #1 (permalink)  
Antiguo 07/09/2016, 13:23
 
Fecha de Ingreso: agosto-2011
Mensajes: 87
Antigüedad: 13 años, 3 meses
Puntos: 3
Problemas con expresiones regulares

buenas tardes disculpen mi ignorancia pero las expresiones regulares son algo complicadas para mí en estos momentos y es que necesito una de estas para sacar de este texto

Código:
[LINK='http://wikipedia.org']página principal wikipedia[/LINK]
[LINK='http://tucarro.com.ve']TuCarro.Com en Venezuela[/LINK]
la siguiente informacion

Cita:
http://wikipedia.org
Cita:
página principal wikipedia
Cita:
http://tucarro.com.ve
Cita:
TuCarro.Com en Venezuela
llevo rato jugando en [URL="http://www.phpliveregex.com/"]http://www.phpliveregex.com/[/URL] y no he logrado conseguir resultados esperados :/

la expresion que he usado es esta y me sirve solo si existe un link de los de arriba

Cita:
\[LINK=\'(.+)\'\](.+)\[\/LINK\]
añado que estoy tratando de usar preg_match_all para sacar todos los datos antes descritos de algun texto dado
  #2 (permalink)  
Antiguo 07/09/2016, 17:01
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: Problemas con expresiones regulares

Bueno, esto es lo mas rápido que se me ha ocurrido, y tampoco soy muy bueno en regex pero estas dos expresiones extraen lo que quieres, salvo por el 1er y ultimo carácter que deberás eliminar de ambas. Tal vez alguien mas experto te proporcione la solución exacta, pero creo que esto te servirá por mientras:
\'[A-Za-z:\/.ñÑ0-9üÜÁÉÍÓÚáéíóú]*
\][A-Za-z:\/.ñÑ0-9üÜÁÉÍÓÚáéíóú ]*\[
  #3 (permalink)  
Antiguo 08/09/2016, 09:25
 
Fecha de Ingreso: agosto-2011
Mensajes: 87
Antigüedad: 13 años, 3 meses
Puntos: 3
Respuesta: Problemas con expresiones regulares

buenas esta expresion fue mi solución:

Cita:
\[LINK=\'([^\[])\'\]([^\[])\[\/LINK\]
no me aceptara links que contenga corchetes pero buehh ! por ahora no hay manera jajaja

por cierto muchas gracias abrahamhs ^-^
  #4 (permalink)  
Antiguo 09/09/2016, 21:38
Avatar de internetdominus  
Fecha de Ingreso: noviembre-2005
Ubicación: Estados Unidos
Mensajes: 535
Antigüedad: 19 años
Puntos: 12
Respuesta: Problemas con expresiones regulares

Prueba con este regex:

Pruebalo en este web: http://www.phpliveregex.com/

Cambia $variable por tu variable.

Código:
if (preg_match('/https?:\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]|[a-z\s\.|á|é|í|ó|ú]{1,}(?=\[.*\])/i', $variable)) {
	# regex funciono con exito...
} else {
	# regex no funciono...
}
O si es que no funciona el de arriba, prueba este:
Código:
if (preg_match_all('/https?:\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]|[a-z\s\.|á|é|í|ó|ú]{1,}(?=\[.*\])/mi', $variable)) {
	# regex funciono con exito...
} else {
	# regex no funciono...
}

Última edición por internetdominus; 09/09/2016 a las 21:50 Razón: Agregar web

Etiquetas: expresion, expresiones, preg_match_all, regex, regular, regulares
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:26.