Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di Scream
    Registrato dal
    Apr 2002
    Messaggi
    228

    trova tag, sostituisci con codice php

    Come da oggetto, dovrei in base a determinati tag che ho predefinito, sostituirli con del codice PHP per rendere il tutto dinamico.

    In pratica se ho un codice scritto così:
    codice:
    Di seguito la nostra galleria fotografica:
    [galleria Pippo]
    Devo ottenere questo risultato:
    codice:
    Di seguito la nostra galleria fotografica:
    <?php include('galleria_pippo.php');
    Tramite il codice sotto ottengo effettivamente questo effetto, il problema è che quanto presente nei tag php non viene interpretato, ma è direttamente nell'output della pagina.
    Codice PHP:
    <?php
    $contenuto 
    file_get_contents("$file.html");
    // $contenuto = "

    Di seguito la nostra galleria fotografica:</p>[galleria Pippo]"
    $count = preg_match_all("/\[(\w+?)\s(\w+?)\]/", $contenuto$chiavi);
    if(
    $count > 0) {
      for(
    $i = 0; $i < $count$i++) {
        // 
    $chiavi[0][$i] l'intera stringa
        // 
    $chiavi[1][$i] la prima porzione (es: galleria)
        // 
    $chiavi[2][$i] la seconda porzione (es: Pippo)
        switch(
    $chiavi[1][$i]) {
          case 'galleria':
            
    $valore = $chiavi[2][$i];
            
    $sostituisci = '<?php include("gallery-'.$valore.'.php"); ?>';
            
    $contenuto = str_replace($chiavi[0][$i], $sostituisci$contenuto);
            break;
        }
      }
    }
    echo 
    $contenuto;
    ?>

  2. #2
    Moderatore di Off Topic, Kickstarter e XML L'avatar di Sky
    Registrato dal
    Jul 2000
    residenza
    Roma
    Messaggi
    1,053
    Per far eseguire codice php presente dentro una stringa devi usare la funzione eval(), senza inviarla al browser con echo.
    Ma attenzione, è una funzione molto rischiosa perché può eseguire qualsiasi codice php. Accertati che il contenuto del file html non possa essere manomesso da terzi, né che possano aggiungere altri file .php da far includere.

    Informazioni sulla funzione eval(): http://php.net/manual/en/function.eval.php
    Non servono i tag di apertura e chiusura di php dentro la stringa.

    Vedendo lo script che hai postato mi domando: perché non includere direttamente i file?
    Lo Stato deve dare ai cittadini, come diritto, ciò che la mafia dà come favore.
    Carlo Alberto dalla Chiesa

    Facebook | Twitter | Last.fm | LinkedIn | Quora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.