• Martes 21 de Marzo de 2023, 02:20

Autor Tema:  Error de sintáxis  (Leído 3673 veces)

Ensy

  • Nuevo Miembro
  • *
  • Mensajes: 23
  • Nacionalidad: es
    • Ver Perfil
Error de sintáxis
« en: Viernes 1 de Octubre de 2010, 14:28 »
0
Hola, alguien me puede decir el error de sintáxis que hay en este código?? Muchas gracias!!!


Código:
function ReadMetaTags($html)
{
//! @return void
//! @desc Pass meta tag info to PDF file properties
$regexp = '/ (\w+?)=([^\s>"]+)/si'; // changes anykey=anyvalue to anykey="anyvalue" (only do this when this happens inside tags)
  $html = preg_replace($regexp," $1="$2"",$html);
  $regexp = '/<meta .*?(name|content)="(.*?)" .*?(name|content)="(.*?)".*?>/si';
  preg_match_all($regexp,$html,$aux);
 
  $firstattr = $aux[1];
  $secondattr = $aux[3];
  for( $i = 0 ; $i < count($aux[0]) ; $i++)
  {

     $name = ( strtoupper($firstattr[$i]) == "NAME" )? strtoupper($aux[2][$i]) : strtoupper($aux[4][$i]);
     $content = ( strtoupper($firstattr[$i]) == "CONTENT" )? $aux[2][$i] : $aux[4][$i];
     switch($name)
     {
       case "KEYWORDS": $this->SetKeywords($content); break;
       case "AUTHOR": $this->SetAuthor($content); break;
       case "DESCRIPTION": $this->SetSubject($content); break;
     }
  }
  //Comercial do Aplicativo usado (no caso um script):
  $this->SetCreator("HTML2FPDF >> http://html2fpdf.sf.net");
}

Saludos!

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Error de sintáxis
« Respuesta #1 en: Viernes 1 de Octubre de 2010, 19:14 »
0
que error te marca?
Pon tu códgo entre los tags [ code] y [ /code] (sin espacio despues del [). será mas fácil leer el código.
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

Ensy

  • Nuevo Miembro
  • *
  • Mensajes: 23
  • Nacionalidad: es
    • Ver Perfil
Re: Error de sintáxis
« Respuesta #2 en: Jueves 7 de Octubre de 2010, 18:06 »
0
No me marca ningún error, me sale la página en blanco. Creo que me falta algo de cambiar en algún archivo de configuración para que me muestre todos los errores, pero no se el qué... Muchas gracias.

Citar
function ReadMetaTags($html)
{
   //! @return void
   //! @desc Pass meta tag info to PDF file properties
   $regexp = '/ (\w+?)=([^\s>"]+)/si'; // changes anykey=anyvalue to anykey="anyvalue" (only do this when this happens inside tags)
   $html = preg_replace($regexp," $1="$2"",$html);
   $regexp = '/<meta .*?(name|content)="(.*?)" .*?(name|content)="(.*?)".*?>/si';
   preg_match_all($regexp,$html,$aux);

   $firstattr = $aux[1];
   $secondattr = $aux[3];
   for( $i = 0 ; $i < count($aux[0]) ; $i++)
   {
      $name = ( strtoupper($firstattr[$i]) == "NAME" )? strtoupper($aux[2][$i]) : strtoupper($aux[4][$i]);
      $content = ( strtoupper($firstattr[$i]) == "CONTENT" )? $aux[2][$i] : $aux[4][$i];
      switch($name)
      {
         case "KEYWORDS": $this->SetKeywords($content); break;
         case "AUTHOR": $this->SetAuthor($content); break;
         case "DESCRIPTION": $this->SetSubject($content); break;
      }
   }
   //Comercial do Aplicativo usado (no caso um script):
   $this->SetCreator("HTML2FPDF >> http://html2fpdf.sf.net");
}

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Error de sintáxis
« Respuesta #3 en: Jueves 7 de Octubre de 2010, 19:18 »
0
¿Es ese todo el código que tienes?
Por lo que tienes ahí, es un método de alguna clase, ¿Porqué no pones todo el código que tienes? así será posible ayudarte.
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

Ensy

  • Nuevo Miembro
  • *
  • Mensajes: 23
  • Nacionalidad: es
    • Ver Perfil
Re: Error de sintáxis
« Respuesta #4 en: Viernes 8 de Octubre de 2010, 10:37 »
0
Esto es un método de una clase, mi problema es que el resto del código me lo reconoce bien en colores pero al llegar a esta función me muestra todo en negro, yo lo interpreto como un error de sintáxis pero a lo mejor no es eso...

Exáctamente en la linea:

Citar
$regexp = '/<meta .*?(name|content)="(.*?)".*?>/si';

Detecta hasta /si y ésto último ya me lo muestra en color negro. Y es que no entiendo muy bien qué hace... y cómo no me muestra ningún error el ejecutarlo, pues estoy un poco perdida...

Muchas gracias!

ibito

  • Miembro HIPER activo
  • ****
  • Mensajes: 552
  • Nacionalidad: mx
  • Se mas de C++ que lo que se de ese CSS
    • Ver Perfil
    • http://www.ibquezada.com
Re: Error de sintáxis
« Respuesta #5 en: Martes 12 de Octubre de 2010, 17:14 »
0
Entonces tu error no es con PHP, tu error es con tu editor de código, ¿qué editor usas?
______________________________________
www.hazjuegos.com Una comunidad dedicada al desarrollo de videojuegos.

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 398
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: Error de sintáxis
« Respuesta #6 en: Martes 12 de Octubre de 2010, 20:38 »
0
Ya lo pillé, es el ?> que el editor interpreta como el cierre del script de PHP y no como parte de la expresión regular y por eso pone en negro el resto del código, como si se tratase de simple código HTML. Prueba con otro editor, el Notepad++ por ejemplo.

:suerte:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

Ensy

  • Nuevo Miembro
  • *
  • Mensajes: 23
  • Nacionalidad: es
    • Ver Perfil
Re:Error de sintáxis
« Respuesta #7 en: Jueves 1 de Septiembre de 2011, 12:00 »
0
Gracias! XD