Foros del Web » Programando para Internet » PHP »

Coger solo datos dentro de [video][/video]

Estas en el tema de Coger solo datos dentro de [video][/video] en el foro de PHP en Foros del Web. Pues tengo un texto, y quiero que solo me coja lo que este dentro de [video][/video], es decir: $prueba = "Si hoc signum legere potes, ...
  #1 (permalink)  
Antiguo 05/10/2010, 08:45
 
Fecha de Ingreso: mayo-2008
Mensajes: 315
Antigüedad: 15 años, 11 meses
Puntos: 7
Coger solo datos dentro de [video][/video]

Pues tengo un texto, y quiero que solo me coja lo que este dentro de [video][/video], es decir:


$prueba = "Si hoc signum legere potes, operis [video]boni in rebus[/video] Latinus alacribus et fructuosis potiri potes.";

me quede así

$prueba = "boni in rebus";

Saben a lo que me refiero gracias por la ayuda.
  #2 (permalink)  
Antiguo 05/10/2010, 08:57
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Coger solo datos dentro de [video][/video]

Con expresiones regulares y preg_match_all puedes hacerlo
  #3 (permalink)  
Antiguo 05/10/2010, 09:11
 
Fecha de Ingreso: mayo-2008
Mensajes: 315
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: Coger solo datos dentro de [video][/video]

Cita:
Iniciado por memoadian Ver Mensaje
Con expresiones regulares y preg_match_all puedes hacerlo
Vale me lo he estado mirando el problema viene a ser, esto lo que permite no es remplazar? Yo quiero quitarlo todo absolutamente menos este cachito de código.
  #4 (permalink)  
Antiguo 05/10/2010, 09:14
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Coger solo datos dentro de [video][/video]

hmm creo que era preg_match
mira
Código PHP:
Ver original
  1. $cadena = 'legere potes, operis [video]boni in rebus[/video] Latinus alacribus';
  2. $parser = '|[video](.*?)[/video]|is';
  3. $video = '';
  4. if (preg_match($parser, $cadena, $video1))
  5. {
  6.     $video = $video1[1];
  7.     echo $video;
  8. }
  #5 (permalink)  
Antiguo 05/10/2010, 09:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 315
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: Coger solo datos dentro de [video][/video]

Cita:
Iniciado por memoadian Ver Mensaje
hmm creo que era preg_match
mira
Código PHP:
Ver original
  1. $cadena = 'legere potes, operis [video]boni in rebus[/video] Latinus alacribus';
  2. $parser = '|[video](.*?)[/video]|is';
  3. $video = '';
  4. if (preg_match($parser, $cadena, $video1))
  5. {
  6.     $video = $video1[1];
  7.     echo $video;
  8. }
Buff gracias cuesta lo suyo entenderlo, haber si lo consigo entender y gracias por hacerme un ejemplo.
  #6 (permalink)  
Antiguo 05/10/2010, 09:32
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Coger solo datos dentro de [video][/video]

Y que lo digas, hace seis meses alguien me enseño ese código, y me ha salvado la vida, hoy ya es facil entenderlo, te lo explico

Código PHP:
$cadena 'legere potes, operis [video]boni in rebus[/video] Latinus alacribus';// esta es la cadena, puede ser cualquier cadena o incluso un archivo
$parser '|[video](.*?)[/video]|is'//esta es la expresion regular, el (.*?) es lo que vamos a capturar por eso esta en medio de [video] y [/video]
$video '';//declaramos la variable
if (preg_match($parser$cadena$video1)) //con esto hacemos la condicion para ver si hay coincidencias

    
$video $video1[1];//asignamos un valor a video en este caso es un array por eso el [1] para que nos de la primera coincidencia
    
echo $video;//imprimimos la coincidencia

Gracias "pateketrueke"
  #7 (permalink)  
Antiguo 05/10/2010, 10:23
 
Fecha de Ingreso: mayo-2008
Mensajes: 315
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: Coger solo datos dentro de [video][/video]

Al final he utilizado este porque el tuyo no me funcionaba:

Código:
$body22 = "legere potes, operis [imgvideo]boni in rebus[/imgvideo] Latinus alacribus";

$bodytag = str_replace("[imgvideo]", "", $body22);
 list($elpost) = explode("[/imgvideo]", "$bodytag");
entonces devuelve el $elpost, como quería, el problema es que tiene que ir arriba del post, si alguien sabe como hacerlo de otra forma que me lo diga ya que arriba del post es algo engorroso.

El resultado es este:

http://onps3.com/index.php?board=19.0
  #8 (permalink)  
Antiguo 05/10/2010, 10:41
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Coger solo datos dentro de [video][/video]


no te funciono por que se me olvido escapar los corchetes
|\[video\](.*?)\[/video\]|is
asi si funciona ya lo probé
Código PHP:
Ver original
  1. <?php
  2. $cadena = 'legere potes, operis [video]boni in rebus[/video] Latinus alacribus';// esta es la cadena, puede ser cualquier cadena o incluso un archivo
  3. $parser = '|\[video\](.*?)\[/video\]|is'; //esta es la expresion regular, el (.*?) es lo que vamos a capturar por eso esta en medio de [video] y [/video]
  4. $video = '';//declaramos la variable
  5. if (preg_match($parser, $cadena, $video1)) //con esto hacemos la condicion para ver si hay coincidencias
  6. {
  7.     $video = $video1[1];//asignamos un valor a video en este caso es un array por eso el [1] para que nos de la primera coincidencia
  8.     echo $video;//imprimimos la coincidencia
  9. }
  10. ?>
  #9 (permalink)  
Antiguo 05/10/2010, 10:48
 
Fecha de Ingreso: mayo-2008
Mensajes: 315
Antigüedad: 15 años, 11 meses
Puntos: 7
Respuesta: Coger solo datos dentro de [video][/video]

Cita:
Iniciado por memoadian Ver Mensaje

no te funciono por que se me olvido escapar los corchetes
|\[video\](.*?)\[/video\]|is
asi si funciona ya lo probé
Código PHP:
Ver original
  1. <?php
  2. $cadena = 'legere potes, operis [video]boni in rebus[/video] Latinus alacribus';// esta es la cadena, puede ser cualquier cadena o incluso un archivo
  3. $parser = '|\[video\](.*?)\[/video\]|is'; //esta es la expresion regular, el (.*?) es lo que vamos a capturar por eso esta en medio de [video] y [/video]
  4. $video = '';//declaramos la variable
  5. if (preg_match($parser, $cadena, $video1)) //con esto hacemos la condicion para ver si hay coincidencias
  6. {
  7.     $video = $video1[1];//asignamos un valor a video en este caso es un array por eso el [1] para que nos de la primera coincidencia
  8.     echo $video;//imprimimos la coincidencia
  9. }
  10. ?>
Siiiiiiiiiiiiiiiiiiiiiiiii, toma. Muchísimas gracias, tengo que decir que al final me estaba cabreando con el código xD. EL resultado genial, :p http://onps3.com/index.php?board=19.0
  #10 (permalink)  
Antiguo 05/10/2010, 10:56
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Coger solo datos dentro de [video][/video]

que bien que te sirvio.

Etiquetas: Ninguno
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 07:27.