begin process at 2010 02 10 17:28:18
  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 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%', 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 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 Probleme avec PREG_REPLACE [ par geantville ] Bonjour,Je fais un site avec redirection de lien , et totalisation ( stats) de clicsCependant alors que j'utilise :$pageDistante -> page lu sur le ser Interdire l'ouverture de fichiers php ! [ par nethacker ] Bonjour,ma question est une question très simple d'un débutant, la réponse est peut être dans le forum ou dans une source mais j'ai beau cherché mais Upload : File too big, error=1 [ par psyckan ] Bonjour,Voila j'ai un uploader de photo sur mon site.Et quand j'essai d'uploader une photo qui fait (2,3Mo), j'obtients un erreur égale à 1 qui corres


      Nos sponsors


      Sondage...

      Comparez les prix

      CalendriCode

      Février 2010
      LMMJVSD
      1234567
      891011121314
      15161718192021
      22232425262728

      Consulter la suite du CalendriCode

       
      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,437 sec (3)

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