Code pour remplacer du texte par un autre.
Dernière réponse : dans Programmation
Bonjour à tous !!
Je voudrai vous demander quelque chose d'un peu particulier... J'ai un site web parlant des loisirs en général. Ce site est nouveau et requiert la participation des visiteurs pour la création d'articles. C'est pourquoi je mat à leur disposition le logiciel de création de tutorials du site du zéro.
Maleureusement (et ils l'ont bien fait exprès je pense), ce logiciel génère des balises du type <gras> au lieu de <b> ou <souligne> au lieu de <u>. C'est pourquoi, lorsque quelqu'un m'envoie un article, je suis obligé de changer toutes les balises en "vraies" balises.
C'est là où je fait appel à vous : est-ce que quelqu'un aurait la gentillesse et le temps de me faire un petit programme (une simple console me suffirait) qui permettrait d'entrer un texte, puis d'effectuer les remplacements de chaines de texte de ce type :
les --> signifient "remplacer par"
<gras> --> <div class="gras">
</gras> --> </div>
...
Bien évidemment, le pseudo (ou le nom) du créateur du logiciel sera présent dans mon site avec un lien vers son site si il le souhaite.
Merci d'avance !!
PS : je sais que certains vont me dire de le faire moi-même. Je connaissais les bases du C++ mais je ne m'en souvient plus trop. C'est pourquoi, si le soft est fait en C++, merci faire les 2 seuls remplacements que je présente pour que je puisse continuer la source en mettant les autres remplacements à faire.
Je voudrai vous demander quelque chose d'un peu particulier... J'ai un site web parlant des loisirs en général. Ce site est nouveau et requiert la participation des visiteurs pour la création d'articles. C'est pourquoi je mat à leur disposition le logiciel de création de tutorials du site du zéro.
Maleureusement (et ils l'ont bien fait exprès je pense), ce logiciel génère des balises du type <gras> au lieu de <b> ou <souligne> au lieu de <u>. C'est pourquoi, lorsque quelqu'un m'envoie un article, je suis obligé de changer toutes les balises en "vraies" balises.
C'est là où je fait appel à vous : est-ce que quelqu'un aurait la gentillesse et le temps de me faire un petit programme (une simple console me suffirait) qui permettrait d'entrer un texte, puis d'effectuer les remplacements de chaines de texte de ce type :
les --> signifient "remplacer par"
<gras> --> <div class="gras">
</gras> --> </div>
...
Bien évidemment, le pseudo (ou le nom) du créateur du logiciel sera présent dans mon site avec un lien vers son site si il le souhaite.
Merci d'avance !!
PS : je sais que certains vont me dire de le faire moi-même. Je connaissais les bases du C++ mais je ne m'en souvient plus trop. C'est pourquoi, si le soft est fait en C++, merci faire les 2 seuls remplacements que je présente pour que je puisse continuer la source en mettant les autres remplacements à faire.
Autres pages sur : code remplacer texte
Lassé par la pub ? Créez un compte
IL faut te servir de la fonction preg_match_replace() et analyser le contenu pour ensuite remplacer comme il faut.
C'est comme pour les BBcodes dont il y a d'ailleurs un script sympa sur lephpfacile.com, il te suffit de le modifier comme il faut et c'est bon.
C'est comme pour les BBcodes dont il y a d'ailleurs un script sympa sur lephpfacile.com, il te suffit de le modifier comme il faut et c'est bon.
En utilisant la fonction eregi_replace(), en PHP, tu devrais pouvoir t'en sortir.
Un lien sur les expressions régulières :
http://www.commentcamarche.net/php/phpreg.php3
Un lien sur les expressions régulières :
http://www.commentcamarche.net/php/phpreg.php3
J'ai lu un article sur la fonction str_replace.
Je propose donc ce code :
Pourriez-vous me dire ce que vous pensez de ce code ?
Je propose donc ce code :
1.
<?php
// Génère : <body text='black'>
echo $bodytag = str_replace('<gras>', '<div class="gras">', '<body text="%body%">' );
echo $bodytag = str_replace('</gras>', '</div>', '<body text="%body%">' );
Pourriez-vous me dire ce que vous pensez de ce code ?
salut alors c'est quoi la récompense :-o
Alors j'ai pour ce faire (en espérant que j'ai bien compris le problème) utilisé preg_replace
si tu mets <coucou> il mettra <div class="coucou"> et si tu mets </coucou> il mettra </div> et si tu mets
??? ben il ne feras rien il laisseras
c'est à toi de gérer ton css pour qu'il affiche les trucs convenablement (par exemple j'ai mis align="center que tu doit virer et gérer dans ton css, j'ai mis pour que ça présente direct mais bon ça tu sauras gérer)
à la fin j'ai mis un htmlentities(nl2br($texte ...
remplace cette ligne par echo $texte; si c'était pas nécéssaire, j'espère que c'est ce que tu voulais
Important il faut mettre un espace entre inputettype
je l'ai fait mais il ne l'affichait pas sur ce site par sécurité surement, donc j'ai du virer l'espace (je sais pas pourquoi) mais il faut le remettre
<?php
if(!isset($_POST['texte']))
{
echo '<div id="formulaire" align="center">
<form method="post" value="">
<textarea name="texte" cols="80" rows="10"></textarea>
<input(supprimez ce texte et mettez juste un espace)type="submit" value="envoyer">
</form>
';
}
else
{
$texte = $_POST['texte'];
if ($texte = preg_replace('!</(.+)>!iU', '</div>', $texte));
if ($texte = preg_replace('!<([^/]+)>!iU', '<div class="$1">', $texte));
echo htmlentities(nl2br($texte));
}
?>
grobs a écrit :
Bonjour à tous !!
Je voudrai vous demander quelque chose d
Alors j'ai pour ce faire (en espérant que j'ai bien compris le problème) utilisé preg_replace
si tu mets <coucou> il mettra <div class="coucou"> et si tu mets </coucou> il mettra </div> et si tu mets
??? ben il ne feras rien il laisseras
c'est à toi de gérer ton css pour qu'il affiche les trucs convenablement (par exemple j'ai mis align="center que tu doit virer et gérer dans ton css, j'ai mis pour que ça présente direct mais bon ça tu sauras gérer)
à la fin j'ai mis un htmlentities(nl2br($texte ...
remplace cette ligne par echo $texte; si c'était pas nécéssaire, j'espère que c'est ce que tu voulais
Important il faut mettre un espace entre inputettype
je l'ai fait mais il ne l'affichait pas sur ce site par sécurité surement, donc j'ai du virer l'espace (je sais pas pourquoi) mais il faut le remettre
<?php
if(!isset($_POST['texte']))
{
echo '<div id="formulaire" align="center">
<form method="post" value="">
<textarea name="texte" cols="80" rows="10"></textarea>
<input(supprimez ce texte et mettez juste un espace)type="submit" value="envoyer">
</form>
';
}
else
{
$texte = $_POST['texte'];
if ($texte = preg_replace('!</(.+)>!iU', '</div>', $texte));
if ($texte = preg_replace('!<([^/]+)>!iU', '<div class="$1">', $texte));
echo htmlentities(nl2br($texte));
}
?>
Citation :
grobs a écrit :
Bonjour à tous !!
Je voudrai vous demander quelque chose d
L'utilisation des REGEX dans ce type d'application me semble sympa...Et c'est vraiment pas dur...
Admettons que ta variable d'entrée de texte (donc celle qui contient les <gras> texte </gras>) se nomme $entree_texte
Tu tape
$wrong_balise = array("!<gras>(.+)</gras>!i",
"!<souligne>(.+)</souligne>!i");
$right_balise = array("<b>$1</b>",
"<u>$1</u>");
$sortie_texte = preg_replace($wrong_balise, $right_balise, $entree_texte);
et il va automatiquement te changer toutes les occurences se trouvant dans $wrong_balise par leur correspondant dans $right_balise...Et ton texte pret a etre affiché sera stocké dans $sortie_texte...
L'inonvénient de ce système c'est que tu dois placer au meme endroit dans les array les balise a remplacer et les nouvelles balise...Sinon binnn...Ca va donner n'importe quoi...Il faut aussi que tu ais le meme nombre d'élément dans les deux variable $xxx_balise ...Ca va pas planter pour autant si y'en a pas un nombre égal mais a mon avis, dans un sens ça va faire n'importe quoi ^^
Admettons que ta variable d'entrée de texte (donc celle qui contient les <gras> texte </gras>) se nomme $entree_texte
Tu tape
$wrong_balise = array("!<gras>(.+)</gras>!i",
"!<souligne>(.+)</souligne>!i");
$right_balise = array("<b>$1</b>",
"<u>$1</u>");
$sortie_texte = preg_replace($wrong_balise, $right_balise, $entree_texte);
et il va automatiquement te changer toutes les occurences se trouvant dans $wrong_balise par leur correspondant dans $right_balise...Et ton texte pret a etre affiché sera stocké dans $sortie_texte...
L'inonvénient de ce système c'est que tu dois placer au meme endroit dans les array les balise a remplacer et les nouvelles balise...Sinon binnn...Ca va donner n'importe quoi...Il faut aussi que tu ais le meme nombre d'élément dans les deux variable $xxx_balise ...Ca va pas planter pour autant si y'en a pas un nombre égal mais a mon avis, dans un sens ça va faire n'importe quoi ^^
Merci beaucoup à vous tous !!
Maleureusement, je n'ai pas de "récompense" particulière à vous offrir, si ce n'est de mettre votre site web dans les partenaires... ;-)
Je vais esayer d'appliquer la méthode de NiSNor puisqu'elle me parrait plus simple. Si je n'y arrive pas, je vous ferais signe.
Merci encore !! :-D
Maleureusement, je n'ai pas de "récompense" particulière à vous offrir, si ce n'est de mettre votre site web dans les partenaires... ;-)
Je vais esayer d'appliquer la méthode de NiSNor puisqu'elle me parrait plus simple. Si je n'y arrive pas, je vous ferais signe.
Merci encore !! :-D
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumRemplacer texte excel 2007
- ForumRemplacer texte par image help
- ForumRemplacer texte html par image
- ForumSed remplacer un texte
- solutionsRemplacer du texte dans un fichier pdf
- ForumBatch remplacer du texte
- ForumRemplacer texte excel
- ForumCss remplacer texte
- ForumAutocad 2005 remplacer texte
- ForumExcel remplacer un texte par un autre
- Voir plus