Dividir cadena en partes

LR

Buenas, tengo la siguiente duda / problema.

Tengo un archivo .sql con varias consultas. Dicho .sql, lo ejecuto desde php. Para separar las consultas he usado

$fila= explode( ";", $contenido );

Hasta ahi muy bien.

El problema esta en que tengo varios insert en los que su contenido incluye ; (por ejemplo el formato para un correo), con lo que esa opcion no vale ya que me corta los insert.

Hay alguna manera / alguna funcion, que me permita hacer algo como esto:

$fila= explode( "CREATE TABLE" OR "INSERT INTO", $contenido );

Gracias de antemano.

SiNSoNiDo

¿Y si utilizas como delimitador un \n ? Prueba a ver, claro que luego tendrás que limpiar el array creado de algunos valores en blanco y otros que no te sirvan.

PiradoIV

El "Plan B" sería usar expresiones regulares:

http://www.mclibre.org/consultar/php/lecciones/php_expresiones_regulares.html

¡Saludos!

Fr4nk0

preg_split divide una cadena según un patrón (expresión regular). Con esta función puedes hacer eso que dices

Usuarios habituales

  • Fr4nk0
  • PiradoIV
  • SiNSoNiDo
  • LR