Suppression dans une chaine [Résolu]

Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
- - Dernière réponse : cs_putch
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
- 23 janv. 2006 à 08:20
salut à tous !

voila mon souci :
j'ai dans une varable PHP appelée $chaine la chaine suivante : "aaaa<!-- DEBUT //-->bbbb<!-- FIN //-->cccc"

ce que je souhaiterai c'est refaire une chaine sans ce qui se trouve entre les 2 balises <!-- DEBUT //--> et <!-- FIN //--> pour dans mon exemple donner : "aaaacccc"

merci pour vos reponses !
Afficher la suite 

11 réponses

Meilleure réponse
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
3
Merci
bon je vais donner ma soluce :

$debut = '<!-- DEBUT //-->';
$fin = '<!-- FIN //-->';

$pos_debut = strpos($chaine, $debut);
$pos_fin = strpos($chaine, $fin);

$chaine1 = substr($chaine,0,$pos_debut-1);
$chaine2 = substr($chaine,$pos_fin+14,(strlen($chaine)-$pos_fin));

$chaine= $chaine1.$chaine2;

si d'autres personnes ont une meilleure idée je suis preneur ...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 200 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_putch
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
0
Merci
$p1=strpos($chaine,'<');
$p2=strpos($chaine,'>');
$p3=strpos($chaine,'>',$p2+1);

$chaine1=substr($chaine,0,$p1-1);
$chaine2=substr($chaine,$p3+1);
$chainefinale=$chaine1.$chaine2;

en gros
il y a peut être plus simple
Commenter la réponse de sidf
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
0
Merci
ouai ca marche avec mon exemple mais ce n'était qu'un exemple ...
en réalité ma chaine est du code HTML alors chercher "<" et ">" ca ne fonctionne plus
Commenter la réponse de cs_putch
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
0
Merci
oui mais il faut bien chercher quelque chose pour extraire

$debut = '<!-- DEBUT //-->';
$fin = '<!-- FIN //-->';

la tu charges bien en dur, non ?
Commenter la réponse de sidf
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
0
Merci
non je realise une fonction

$chaine ='............................................';
$new = fonction($chaine);

et ma fonction retourne la chaine sans ce qu'il y entre a mes 2 balises

donc il peut y avoir n'importe quoi avant <!-- DEBUT //-->, entre <!-- DEBUT //--> et <!-- FIN //-->, et apres <!-- FIN //-->.
Commenter la réponse de cs_putch
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
0
Merci
ok mais alors, si ta chaine c'est

aaaaaaaa+aaaaaaaa+ccccccc+cccccccc

tu récupères comment la première et la dernière partie ??
Commenter la réponse de sidf
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
0
Merci
tu dois pouvoir récupérer la position du premier '<' et celle du dernier '>'
je ne comprends pas bien
Commenter la réponse de sidf
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
0
Merci
hmm on se comprend pas je crois

voila réellement ce qu'est ma chaine :

$chaine = '
titre, ----

<!-- DEBUT //-->
----
en tete,
<!-- FIN //-->
----
contenu, ----

----
pied de page

';

Donc en final je souhaite :
$new_chaine = '
titre, ----

----
contenu, ----

----
pied de page

';
Commenter la réponse de cs_putch
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
0
Merci
ok je comprends (pas evident)



tu peux scanner le premier '<!' et le dernier '->'



non ?
Commenter la réponse de sidf
Messages postés
1218
Date d'inscription
mardi 20 décembre 2005
Statut
Membre
Dernière intervention
18 octobre 2012
4
0
Merci
c'est quoi le but, virer des commentaires ?
Commenter la réponse de sidf
Messages postés
624
Date d'inscription
mardi 6 mai 2003
Statut
Membre
Dernière intervention
14 décembre 2009
1
0
Merci
non c'est virer ce qu'il y a entre les 2 balises <!-- DEBUT //--> et <!-- FIN //-->
Commenter la réponse de cs_putch