Accueil > Forum > > > > rechercher et remplacer expressions dans une page
rechercher et remplacer expressions dans une page
mercredi 25 novembre 2009 à 18:29:49 |
rechercher et remplacer expressions dans une page

hdh
|
Bonjour,
du fait qu'il ne me reste plus de cheveux à m'arracher je me tourne vers vous avec mon problème ;-)
je fais un script qui
1 - lit le une page html (stockée en dure sur mon ftp)(ça ca va)
2 - je voudrais parser le corps de cette page pour y remplacer certaines strings et remplacer par d'autre.(ça ca va pas)
3- écriture d'une nouvelle page avec le contenu mis à jour (ça ca va)
le truc c'est que j'arrive pas à trouver une boucle qui remplace correctement mes expressions (probablement utiliser des expressions régulières)??
Les expressions à remplacer sont de deux types dans la page html
a-
Code PHP : que je voudrais remplacer par Code PHP :
b-
Code PHP : que je voudrais remplacer par Code PHP :
(cette expression est reconnaisable avec son ":" )
Auriez-vous des tuyaux (à défaut de cheveux à replanter ??)
D'avance merci pour votre aide !!
H
le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
|
|
jeudi 26 novembre 2009 à 08:31:42 |
Re : rechercher et remplacer expressions dans une page

kohntark
|
Salut,
Un simple str_replace ne suffit pas ??
Et :
- le tag d'ouverture php s'écrit <?php (et pas <?)
- "<? print civ; ?>" civ est une constante ?
Cordialement,
Kohntark -
|
|
jeudi 26 novembre 2009 à 09:22:38 |
Re : rechercher et remplacer expressions dans une page

hdh
|
je ne pense pas que cela me convienne, mais bon suis pas certain, en effet
- il peut y avoir plusieurs occurences de #civ# dans ma page
- je voudrais à terme utiliser une fonction avec une expression régulière pour pouvoir remplacer automatiquement tous les #xxxx# par des <?php print $xxxx; ?>, les #yyyy# par des <?php print $yyy; ?>
Je suis tout à fait à l'écoute : si tu as des conseils (ou carrément des sources) je suis preneur !!
au plaisir de te (vous)lire !!
H
le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
|
|
jeudi 26 novembre 2009 à 11:54:33 |
Re : rechercher et remplacer expressions dans une page

kohntark
|
Je suis tout à fait à l'écoute : si tu as des conseils (ou carrément des sources) je suis preneur !!
=> str_replace() !!
Si tu n'as que ces remplacements à faire c'est totalement inutile de passer par des expressions régulières, même la fonction n'est pas utile si tu n'as pas besoin de traiter 20 fichiers.
Une seule ligne suffit.
Cordialement,
Kohntark -
|
|
jeudi 26 novembre 2009 à 16:10:09 |
Re : rechercher et remplacer expressions dans une page

hdh
|
Hello,
ca m'a l'air un peu plus complexe :-/
1- Il faut que je parse le fichier html et détecte toutes les balises commencant et finissant par un dièse
>> exemple #civ# mais aussi #tutuu#.... je ne saurais pas à l'avance quelles seront ces balises c'est pour cela que je voudrais faire quelquechose de dynamique
2- une fois que j'ai trouvé les balises il me faut récupérer la string entre les dièses et la transformer en variable php
>> exemple si on a trouvé la balise #civ# on remplace par $civ
>> exemple si on a trouvé la balise #tuututu# on remplace par $tuututu
c'est vraiment une nécessité de travailler avec une boucle je pense... et mon truc pr l'instant de détection de balise ne fonctionne pas
Code PHP : if(preg_match("'\#libcivilite\#'", $chaine)) // fonctionne
//if(preg_match("'\#[:alnum:]\#'", $chaine)) // fonctionne pas
{
echo 'On a au moins une expression du type #ChaineChiffresLettres#';
}
else { echo 'On a pas une expression de ce type';}
le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
|
|
jeudi 26 novembre 2009 à 18:49:02 |
Re : rechercher et remplacer expressions dans une page

kohntark
|
Je mets du temps à comprendre, et tu mets du temps à bien expliquer
C'est plus clair maintenant.
Si je m'en tiens pile poil a tes exemples nul besoin de faire une boucle, un preg_replace suffit :
Code PHP :
<?php
preg_replace('`#([^#]*)#`', '$\1', $t);
?>
Bien sur si les exemples de ton premier message (#tt:xxx#, civ()) sont toujours valables il faudra modifier le code. Je te laisse cette modif, n'hésite pas à reposter si tu rencontres des problèmes.
Cordialement,
Kohntark -
|
|
vendredi 27 novembre 2009 à 10:19:54 |
Re : rechercher et remplacer expressions dans une page

hdh
|
Hello,
Oula la la je n'ai jamais été aussi proche :-) merci pour ton aide !!
Néanmoins cela n'est pas encore parfait : l'interpretation des variables n'est pas affichées..
Je voudrais en effet obtenir 'Bonjour Madame Dupont, comment ça va ? ' alors que cela affiche 'Bonjour $libcivilite $nom, $content_question'
(comme tu pourras le remarquer plutot que de passer par une fonction pour les #content:xxxxxxxx# je passe finalement par une variable.) cela ne change rien au dev ci-dessous.
Pourrais-tu me dire comment faire afficher le contenu de ma variable plutot que le nom de la variable ?
d'avance grand merci pour ton aide !
Code PHP : $libcivilite="Madame";
$nom="Dupont";
$content_question = "comment ca va ?";
$t = 'Bonjour #libcivilite# #nom#, #content:question#';
$u = preg_replace('`#([^#]*)#`', '$\1', $t);
$t = str_replace('content:', 'content_', $u);
print "<hr>".$t."<hr>";
// je voudrais obtenir 'Bonjour Madame Dupont, comment ça va ? '
// alors que cela affiche 'Bonjour $libcivilite $nom, $content_question'
le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
|
|
dimanche 29 novembre 2009 à 23:02:56 |
Re : rechercher et remplacer expressions dans une page

hdh
|
Heeeeeeeeeelp :-)
J'ai tenté de contourner la difficulté ce we mais cette solution semble la plus intéressante.. mais je scotsh lamentablement.. un brin d'aide de développeur me permettrait d'avancer...
y aurait il une âme charitable .. un Kohntark par exemple ???
Au plaisir de vous lire !!
H
le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
|
|
lundi 30 novembre 2009 à 20:30:35 |
Re : rechercher et remplacer expressions dans une page

kohntark
|
Réponse acceptée !
Re Hdh,
Ca y est, t'es totalement chauve ?
Je ne suis pas certain que tu retiennes la meilleure solution. Peut être en existe t il une plus simple, mais toi seul peux le savoir.
Pour m'en tenir à ton problème, quelque chose comme ça devrait faire l'affaire :
Code PHP :
<?php
function replace($m) {
$m[1] = str_replace('content:', 'content_', $m[1]);
global ${$m[1]};
return ${$m[1]};
}
$sPattern = '`#([^#]*)#`';
$u = preg_replace_callback($sPattern, 'replace', $t);
?>
En espérant que ça puisse t'aider.
Bonne soirée,
Kohntark -
|
|
mercredi 2 décembre 2009 à 00:20:28 |
Re : rechercher et remplacer expressions dans une page

hdh
|
Hello,
Je te remercie pour ton aide sur ce soucis : les cheveux repoussent !!
J'ai changé un brin le code que tu proposais pour l'adapter à ma problématique : ca fonctionne tiptop, je vais pouvoir continuer à avancer sur mon projet !
Code PHP :
function replaceVar($m) {
$m[1] = str_replace(':', '_', $m[1]);
global ${$m[1]};
return ${$m[1]};
}
$sPatternVar = '`#([^#][a-zA-Z0-9_:]*)#`';
$body1 = preg_replace_callback($sPatternVar, 'replaceVar', $body);
Encore merci pour ton aide et ta patience :-)
H
le temps n'épargne pas ce que l'ont fait sans lui.. le php non plus
|
|
Cette discussion est classée dans : page, code, php, remplacer, expressions
Répondre à ce message
Sujets en rapport avec ce message
comment remplacer du code dans un fichier A par un autre code dans le fichier B [ par michelvernet2 ]
bonjour, j'ai un site à refaire, page par page ( je sais c'est dépassé, mais c'est comme ça ) . Actuellement, j'opère manuellement : je copie mon code
code php login [ par mannoutta ]
j'ai une page qui contient un champ login et un champ mot de passe alors je veux ecrire un code php don't il me permet de se connecter à deux pages di
redirection code php [ par mannoutta ]
salut , help me please :( je sais pas comment faire la redirection d'une page.... en fait j'ai une table nommé admin( login , password ) ; une aut
A l'aide : Warning: Cannot modify header information [ par FXPHANTOM ]
Bonjour, J'appelle tous les webmasters expérimentés pour résoudre mon problème . J'ai un hébergement mutualisé chez OVH , j'ai installé mon site sur
URGENT: besoin de votre aide ... fonction UPDATE [ par FXPHANTOM ]
Ami du jour , bonjour , et oui c'est encore moi !!! J'ai besoin de votre aide pour un probleme que je n'arrive pas a resoudre !!! j'y ai passé la jo
Problème de débutant avec variable get etc ... [ par jimyarts ]
Bonjour à toute la communauté, J'ai un problème qui m'embête vraiment dans la construction de mon site d'autant plus que je n'en connais pas la cause
form qui appelle la page où il se trouve [ par Krasha ]
Bonjour à tous, Je suis en train d'essayer d'installer un petit sondage sur mon site et sur la page de création des sondages j'ai une erreur : [i]Not
Problème de page.. [ par shadow578 ]
Bonjour, Je vais vous exposer mon problème afin que vous m'aidiez à le résoudre ... Donc j'ai une page 'news.php' sur le qu'elle à l'aide d'un 'while
$POST [ par eva4 ]
Bonjour, Dans une page j'ai des données qui arrivent sous cette forme : [code=php]$valeur1 = $_POST['mon_champ']; $valeur2 = $_POST['mon_
[PHP] Problème de sécurisation de page. [ par sarahjtm ]
Bonjour, Je vous explique mon problème en essayant d'être le plus compréhensible. Je dispose d'un script Allopass (qui permet d'acheter un code), ce
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|