Regex PHP

Signaler
Messages postés
18
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
17 juin 2009
-
Messages postés
18
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
17 juin 2009
-
Bonjours,

Tous d'abord desoler si j'ai poster au mauvaise endroit, je savais pas ou poster alors j'ai mis dans divers...

$OSuppr = fopen("Admin/DB/Forum/".$_GET['Cat']."/".$_GET['Sujet']."_".­$_GET['Id'].".BD", "r+");

$GSuppr = fgets($OSuppr);
fseek($OSuppr, 0);
$GSuppr = preg_replace('#
(.*)
#i', '', $GSuppr);
fseek($OSuppr, 0);
$PSuppr = fputs($OSuppr, $GSuppr);

fclose($OSuppr);

Voila, enfete se que je cherche a faire c'est recuperer le texte qui se trouve dans un fichier et suprimer (Donc le remplacer par rien)
Tous se qui est entre
<= Et  c'est cette regex qui marche pas, et je trouve pas de solution...
J'espere que quelq'un pourra m'aider, Merci.

24 réponses

Messages postés
239
Date d'inscription
samedi 21 février 2004
Statut
Membre
Dernière intervention
3 juin 2010
1
Salut,

Essaye ceci:

preg_replace('#(
).*(
)#i','$1$2', $GSuppr)
Messages postés
18
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
17 juin 2009
1
Non, sa marche pas mais merci quand meme.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,

je n'ai pas comprius ce que tu voulais supprimer et récupérer, moi.
Messages postés
2480
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Salut,

Il faut rajouter l'option U => ungreedy

$GSuppr = preg_replace('#
(.*)
#iU', '', $GSuppr);

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Messages postés
18
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
17 juin 2009
1
Ben, enfete je veut suprimer les balises

et TOUS se qui se trouve entre, et je veut juste garder se qui n'est pas entre les balises
J'ai tester mais sa marche malheuresement pas
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
$GSuppr= preg_replace('`(
.*
)`', '', $GSuppr);
Messages postés
18
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
17 juin 2009
1
Non, sa marche pas...
Messages postés
2480
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Bon ben moi, j'abandonne... Parce que "ca marche pas", ça m'aide pas à aider.

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
D'autant plus que cette regex marche, je l'ai testée. Elle fait exactement ce que tu as demandé. Avec la chaîne :
blatoto

tata
toto
on obtient exactement
blatoto

toto
et c'est précisément ce que tu as dit vouloir.
Donc si tu t'es mal exprimé, fais un effort parce que sinon personne ne pourra t'aider.
Messages postés
18
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
17 juin 2009
1
Ben chez moi ya un texte de ce genre:
blablabla[Blabla blabla]

blablabla[Blabla blabla]

.

Et se que je compte garder de se texte c'est juste
blablabla[Blabla blabla]

Donc suprimer le

et touse qui est entre ses balises... Moi sa fait 3 jours que je cherche et sa fait 2 jours que j'ai promis que j'aurrai fini, alors sa fait un peu con...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Ah ben voilà un exemple.
Ok, c'est les multiples div qui te posent problème donc :
<?php
$sChaine = '
blablabla[Blabla blabla]

blablabla[Blabla blabla]

';
$sChaine = preg_replace('`(
[^div]+
)`', '', $sChaine);
echo $sChaine;
?>
Messages postés
2480
Date d'inscription
jeudi 30 novembre 2006
Statut
Membre
Dernière intervention
14 janvier 2011
18
Avec Ungreedy c'est bien aussi, ça évite qu'il prenne le premier div avec le dernier /div
Enfin moi, c'que j'en dis...

<hr size="2" width="100%" />Neige

N'hésitez pas à lire la doc de PHP avant de poser des questions triviales...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Oui en effet!
Messages postés
18
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
17 juin 2009
1
Heu ton code malalam sa me remplace
par dividdividdividdivid et sa me suprimer la prochaine balise fermente qu'il trouve...

Autre exemple:

<strike>
blablabla[Blabla blabla]

</strike>
blablabla[Blabla blabla]

.

Tous se qui est barre c'est se que je compte suprimer...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Heu tien, certaines balises ont été interprétées...(j'essaye Safari, la dernière version, je pense que l'éditeur pose problème avec). Je réessaye de poster le code :
<?php
$sChaine = '
blablabla[Blabla blabla]

blablabla[Blabla blabla]

';
$sChaine = preg_replace('`(
[^div]+
)`', '', $sChaine);
echo $sChaine;
?>
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
ah ben voilà.
Messages postés
18
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
17 juin 2009
1
Je sais pas si chez toi sa marche, mais chez moi sa marche pas... Sa suprime rien du tous en sa me renvoie tous comme c'est a la base...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Heu oui ça marche chez moi...et je n'ai pas connaissance que les PCRE se comportent différemment selon la version de PHP (je suis en 5.2.5).
Fais voir le code tel que tu le testes.
Messages postés
18
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
17 juin 2009
1
http://www.silveryann.kilu.de/CS/
Clique droite sur le fichier Forum.txt et tu l'enregistre... ( Je pence que tu sais comment sa marche ^^ )
Il y a plus de 400 ligne alors j'avais pas envie de copier coller sa comme sa.
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Je m'en suis sorti...;-)
Envoi moi aussi le fichier que tu lis ("Admin/DB/Forum/".$_GET['Cat']."/".$_GET['Sujet']."_".$_GET['Id'].".BD").
Enfin un de ces fichiers, un exemple quoi, que je teste avec, comme ça on sera fixé.