Foros del Web » Programando para Internet » PHP »

Expresiones regulares, para que sirve /is

Estas en el tema de Expresiones regulares, para que sirve /is en el foro de PHP en Foros del Web. Buenas, estoy haciendo una funcion en PHP para convertir los BBCODE a etiquetas HTML... En varios ejemplos que he visto por la red, usan expresiones ...
  #1 (permalink)  
Antiguo 05/02/2014, 05:20
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
Expresiones regulares, para que sirve /is

Buenas,

estoy haciendo una funcion en PHP para convertir los BBCODE a etiquetas HTML... En varios ejemplos que he visto por la red, usan expresiones regulares para hacerlo lo cual me parece correcto.

Mi duda viene aqui:

He visto que en estas expresiones regulares emplean al final un /is y no se para que sirve. Podre un ejemplo que creo así sera más fácil de entender:

Usando la funcion "preg_replace", se realiza el search de la cadena:

Código:
'/\[b\](.*?)\[\/b\]/is'
la cual se sustituye por:

Código:
'<strong>$1</strong>'
De la cadena: '/\[b\](.*?)\[\/b\]/is' entiendo TODO salvo el ultimo "is"

Por lo que se, una expresion tiene que empezar y terminar con los las barras / ... /
¿porque se añade el is?

Gracias
__________________
Follow me on twitter @franbedia
  #2 (permalink)  
Antiguo 05/02/2014, 05:36
Avatar de fbedia  
Fecha de Ingreso: julio-2010
Mensajes: 159
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Expresiones regulares, para que sirve /is

Me auto-respondo!!

He realizado alguna prueba y creo que el "is" sirve para indicar tanto mayusculas como minusculas....

Ejemplo:

El siguiente codigo, me transforma los bbcode [ b ] ... [/ b ] a <strong> ... </strong>
Sin embargo, el [ B ] [/ B ] me lo deja tal cual..
Código:
	$buscar = array(
	'/\[b\](.*?)\[\/b\]/'
	); 
	
    $remplazar = array(
	'<strong>$1</strong>'
	);
	
    $texto = preg_replace ($buscar, $remplazar, $texto);
Si lo pongo de esta manera me transforma tanto los [b] como los [B] a la etiqueta <strong>
Código:
	$buscar = array(
	'/\[b\](.*?)\[\/b\]/is'
	); 
	
    $remplazar = array(
	'<strong>$1</strong>'
	);
	
    $texto = preg_replace ($buscar, $remplazar, $texto);

Agradeceria que algún experto me confirmase que estoy en lo cierto!
Gracias
__________________
Follow me on twitter @franbedia
  #3 (permalink)  
Antiguo 05/02/2014, 07:49
Avatar de andresdzphp
Colaborador
 
Fecha de Ingreso: julio-2011
Ubicación: $this->Colombia;
Mensajes: 2.749
Antigüedad: 12 años, 9 meses
Puntos: 793
Respuesta: Expresiones regulares, para que sirve /is

La letra i sirve para lo que afirmas, pero la letra s también tiene su función:

Modificadores de Patrón
__________________
Si sabemos como leer e interpretar el manual será mucho más fácil aprender PHP. En lugar de confiar en ejemplos o copiar y pegar - PHP

Etiquetas: expresiones, html, 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 09:03.