begin process at 2012 02 13 03:12:28
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

Prob avec preg_replace()


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Prob avec preg_replace()

vendredi 20 janvier 2006 à 04:29:22 | Prob avec preg_replace()

Kevergeek

Voici mon code :

<?php
$file = "templates/default/test.tpl";
$template['TITLE'] = "titre";
$template['TEXT'] = "blabla";

$file = file_get_contents($file);

$file = preg_replace('#\{([a-z0-9\-_]*?)\}#is', $template['\1'], $file);

echo $file;
?>


Voici ma page templates/default/test.tpl :

{TITLE}<br />
<br />
{TEXT}


J'aimerai tout simplement remplacer {TITLE} par le contenu de $template['TITLE'] et {TEXT} par le contenu de $template['TEXT']. Mais il me met le message d'erreur suivant et je ne sais pas comment le corriger :
Notice: Undefined index: \1 in d:\program files\easyphp1-8\www\visual-creative\test.php on line 8

Merci pour l'aide que vous pourrez m'apporter
vendredi 20 janvier 2006 à 11:01:09 | Re : Prob avec preg_replace()

Anthomicro

Réponse acceptée !
Salut,

tu ne peux pas faire ça à ma connaissance, mais en revanche tu peux faire une boucle sur ton tableau (en obtenant les clés avec array_keys()) puis tu fais un str_replace entre un tableau d'entrée et un tableau de sortie (meilleure méthode) ou plusieurs str_replace (moins rapide)

a +


    vendredi 20 janvier 2006 à 15:14:08 | Re : Prob avec preg_replace()

    Kevergeek

    Merci !! J'ai eu du mal à comprendre mais j'ai fini par réussir :)

    Vala mon code final :

    $file_content = file_get_contents($file);

    $block = array_keys($template);

    for( $i=0; $i<count($block); $i++) {
        $file_content = str_replace("{".$block[$i]."}", $template[$block[$i]], $file_content);
    }

    $file_content = preg_replace('#\{([a-z0-9\-_]*?)\}#is', 'BLOCK NON DEFINI {\1}', $file_content);

    echo $file_content;


    Merci encore

    vendredi 20 janvier 2006 à 18:39:33 | Re : Prob avec preg_replace()

    Anthomicro

    Tu peux faire ça :

    $file_content = file_get_contents($file);

    $block = array_keys($template);
    $nb=
    count($block);

    $recherche=array();
    $remplace=array();

    for( $i=0; $i<$nb; $i++)
    {
        $recherche[]=
    '{'.$block[$i].'}';
        $remplace[]=
    $template[$block[$i]];
    }

    $file_content = str_replace($recherche,$remplace, $file_content);
    $file_content = preg_replace('#\{([a-z0-9\-_]*?)\}#is', 'BLOCK NON DEFINI {\1}', $file_content);

    echo $file_content;


    hop ;-)

    a +

      dimanche 22 janvier 2006 à 21:31:22 | Re : Prob avec preg_replace()


      Cette discussion est classée dans : text, file, title, template, preg


      Répondre à ce message

      Sujets en rapport avec ce message

      preg_replace [ par Tomcube ] Est-ce que quelqu'un pourrait me modifier cette ligne pour la faire accepter les retours à la ligne (\n), j'ai trop de mal avec les masques ! $text = Librairire GD [ par boulika ] Bonjour,Je viens de faire un code qui scan en local toutes les polices et qui fait un apercu des polices sous forme d'une image générée .Mais mon code problème preg_match ou autre [ par mike1310 ] Bonjour à tous,je suis en train de me créer un moteur de template simple et j'aimerais faire, à l'aide d'un preg_match ou autre, récupérer dans ma pag Un petit problème d'expression régulieur en php avec preg_replace [ par ulise31 ] Bonjour, j'ai besoin d'aide merci d'avanceAlors voici mon code php :$text = $_POST['textarea2'];$toto= '(.+)';$tyty='[gras]$1[/gras]';$text = preg_rep Question templates [ par astuces_jeux ] Bonjour,J'ai remarqué que l'utilisation de la class fasttemplate est compliquée. Alors je voulais savoir si on ne pouvait pas faire ça simple : foncti Preg_replace déconne ?! [ par zen69 ] Salut tout le monde,J'ai un petit probleme avec un preg_replace, qui me donne de drole de résultats.Voici ce que j'utilise:  $paterns = array('%min%', boucle for [ par nbpro ] voila g un problème j'ouvre un dossier qui contiens des .txt ouvre et lit les .txt en récupère des données. Des requête s'exécute dans une boucle j' programme avec preg_match [ par lassad_haddaji ] bonjour, merci de m'aider une autre fois prendant cette semaine, jai un probleme avec preg_match, jai pas pu composé cette chaine exemple: 48°26'58.11 Développement web [ par alouane2010 ] svp , j'ai une application de gestion de controle, je veux créer une courbe pour le cout minute processus, ça bien marché, j'ai utilsé DhtmlX chart, m Un explorateur PHP [ par marcdu77114 ] Bonjour à tous ! Déjà, je m'excuse de poster ça ici, je ne savais pas ou le mettre, et comme je suis un débutant ... Pour la petite histoire -dont to


      Nos sponsors


      Sondage...

      Comparez les prix

      CalendriCode

      Février 2012
      LMMJVSD
        12345
      6789101112
      13141516171819
      20212223242526
      272829    

      Consulter la suite du CalendriCode

      Photothèque

       
      Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
      CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
      CodeS-SourceS.com© est une marque déposée tous droits réservés

      Google Coop CodeS-SourceS Google Coop CodeS-SourceS
      Temps d'éxécution de la page : 0,858 sec (4)

      Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales