begin process at 2012 05 28 20:14:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

cherche a faire du remplacement de texte


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

cherche a faire du remplacement de texte

mercredi 17 novembre 2004 à 19:02:25 | cherche a faire du remplacement de texte

kimmelf2

voila, je suis en train de bosser sur un site et j'ai besoin de faire une gestion de modeles, c'est a dire proposer plusieurs mises en pages, avec des styles differents

pour ca, je voudrais faire des fichiers main.tpl du style

<html>
<head>
<title>(HEAD:NAME) : (HEAD:TITLE)</title>
(HEAD:TAGS)
</head>....................

et ensuite mon script recupere le style selectionne par le visiteur et modifie les (HEAD:xxx), (BODY:xxx) par le contenu a afficher

j'ai une fonction qui me genere tous les tableaux associatifs qui reprensent les blocs a remplacer : $HEAD, £BODY ...
j'ai donc par exemple :
$HEAD['NAME'], $HEAD['TITLE'], $HEAD['TAGS'] ......

il faudrai donc maintenant que je trouve une fonction qui me remplace les chaines (xxx:yyy) de main.tpl par l'element $xxx['yyy']

POINT IMPORTANT : la fonction ne doit pas appliquer ce remplacement a la chaine ajoutee

je m'explique : (je simplifie la notation)
supposons que main.tpl contienne (a)(b).

si je veux remplacer (a) par "nom" et (b) par "prenom", ca m'affichera "nomprenom" , ca c'est normal

maintenant si je remplace (a) par "(b) nom" on a 2 cas :

=> soit la chaine a remplacer est cherchee depuis le debut de la derniere chaine ajoutee : ca remplace deja (a) d'ou "(b) nom(b)", puis le 1er (b) d'ou "prenom nom(b)" puis le 2e (b) d'ou "prenom nomprenom" CA JE VEUX PAS !!!

=> soit la chaine a remplacer est cherchee a partir de la fin de la derniere chaine ajoutee : ca remplace deja (a) d'ou "(b) nom(b)" puis cherche depuis le premier caractere apres "nom" donc modifie le 2e (b) d'ou "(b) nomprenom" C'EST CA QUE JE VEUX !!!

En fait, j'utilise cette technique pour generer les differents blocs qui constitue la page affichee. Mon soucis c'est que mon site c'est une sorte de site commercial partage entre plusieurs commercants. chaque commercant gere ces produits et, par grande Malchance_avec_une_majuscule, si un commercant utilise dans un de ses textes, un de mes identifiants de mise en page, je ne veux pas qu'il soit traduit par la fonction en question. dans ce cas, le "faux" identifiant doit etre affiche tel quel.


j'esperes avoir ete clair :-)

pouvez vous m'aider ????

merci d'avance
jeudi 18 novembre 2004 à 14:18:36 | Re : cherche a faire du remplacement de texte

ehmarc

Réponse acceptée !
salut

je suis pas sur d'avoir saisi exactement ce que tu veut...

Mais je vais quand meme essayer

est-ce une fonction comme ca que tu cherche :

ereg_replace

++

"Aucun de nous ne sait ce que nous savons tous, ensemble."
Lao Tseu inventeur du "copier coller"
jeudi 18 novembre 2004 à 18:10:08 | Re : cherche a faire du remplacement de texte

kimmelf2

je vais essayer de faire plus simple avec une notation + comprehensible :

j'ai une chaine contenue ds une variable, $original
elle contient des "identifiants" sous la forme (OLDx) et je veux faire les remplacements suivants :
(OLD1) => $new_1
(OLD2) => $new_2
........
(OLDn) => $new_n
où $new_x sont les variables qui contiennent les chaines a mettre a la place des (OLDx)

ce que je veux : si un $new_i contient, par malchance, un identifiant (OLDx) , il ne doit surtout pas etre traite.

si c'etai le cas, au mieux ca me bouffe la mise en page, pas top pour un site commercial

au pire, ca serai que ca provoque un bouclage : imagine que $new_1 contiennent (OLD1) ! le (OLD1) original serai remplace par $new_1 dont le(OLD1) serai remplace par $new_1 dont le (OLD1) ...... je m'arrete la :-)

bon, je sais ce que tu vas dire, il suffirai de filtrer les $new_x pour eviter les problemes, mais si il existe une fonction qui realise le traitement que je cherche ...... ce qui ne me dispense pas de filtrer dailleur ;-)



sinon pour le fonction ereg_replace, j'ai pas encore regarde. j'ai trouve un debut de magouille avec strtr alors je comparerais les performances apres :

$tab = array(
"(HEAD:NAME)" => SITE_NAME,
"(HEAD:TITLE)" => SITE_TITRE,
"(HEAD:CSS)" => $_SESSION['User']['CSS'],
......);

$page = strtr($page, $tab);

ca a l'air de marcher comme je veux mais je vais qd meme etudier ta soluce


Cette discussion est classée dans : fonction, chaine, remplacer, head, xxx


Répondre à ce message

Sujets en rapport avec ce message

Comment ne garder que certains caractères d'une chaine ? [ par Gta3soluce ] Bonjour,J'utilise la fonction str_replace pour remplacer certains caractère contenu dans une chaine par d'autres.J'aimerais faire le contraire.  C'est remplacer une chaine de caractère dans un fichier [ par Capitaine Iron ] j'ai un fichier texte qui est structuré de la facon suivante :le messageplein de commmentaires ici.....le messageplein de commmentaires ici.....le mes remplacer une toutes les occurences d'une variable dans une chaine de caractere [ par angellestat ] Bonjour à tous, Je suis entrain de développer un petit forum sur un site. Il propose des zones de commentaire dans lesquelles les utilisateurs peuvent Connaitre le visiteur (IP) [ par La Guite ] Bonjour à tous,Je débute en php.J'aurais aimé savoir s'il était possible de connaitre l'identité d'une personne qui visite mon site.Je vous arrète tou Fonction qui vérifie la présence d'une partie d'une chaine caractère.. [ par Dure ] Bonjour, voila ma question est toute simple mais je n'ai pas trouver réponse sur google.Alors voila je voudrais savoir s'il existe une fonction php qu Chaine de caractères [ par seyvapul ] Bonjour, je souhaite remplacer tous les caractères spéciaux de mes chaines de caractères par leur valeur &arg : exemple, remplacer 'é' par '&eacute', fonction php + supprimer des mots dans une chaine [ par hadjiphp ] Bonjour, merci pour ce site et souhaite de trouver tous ce que je veux. je vous remercie. Bonjour, j'ai une question : je cherche une fonction Fonction modification chaine de caractère php [ par ccpu ] Bonjour, Je souhaiterais savoir si avec la fonction str_replace ou autre fonction, on peut remplacer une chaine de caractère mais deux fois. Je vous Explode et antislashes ... [ par Poolky ] Bonsoir tout le monde,J'ai un petit soucis, et j'aimerais si c'était possible que vous m'otiez cette épine du pied!Je voudrais faire un explode d'une Remplacer   [ par pcgpegase ] Bonjour,Je vous expose mon problème :J'ai un champs de type TEXT dans ma base MySQL qui contient donc du texte !Quand je fais afficher ce texte, c'est


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
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 : 4,228 sec (3)

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