Regex PHP

Yann2704 Messages postés 18 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 17 juin 2009 - 16 avril 2008 à 14:20
Yann2704 Messages postés 18 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 17 juin 2009 - 18 avril 2008 à 20:03
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

DiGhan Messages postés 239 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 3 juin 2010 1
16 avril 2008 à 16:08
Salut,

Essaye ceci:

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

je n'ai pas comprius ce que tu voulais supprimer et récupérer, moi.
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
16 avril 2008 à 20:36
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Yann2704 Messages postés 18 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 17 juin 2009 1
16 avril 2008 à 21:13
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
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
16 avril 2008 à 21:35
$GSuppr= preg_replace('`(
.*
)`', '', $GSuppr);
0
Yann2704 Messages postés 18 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 17 juin 2009 1
17 avril 2008 à 14:09
Non, sa marche pas...
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
17 avril 2008 à 14:51
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...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 avril 2008 à 19:05
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.
0
Yann2704 Messages postés 18 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 17 juin 2009 1
17 avril 2008 à 19:55
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...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 avril 2008 à 20:19
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;
?>
0
neigedhiver Messages postés 2480 Date d'inscription jeudi 30 novembre 2006 Statut Membre Dernière intervention 14 janvier 2011 19
17 avril 2008 à 20:25
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...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 avril 2008 à 20:33
Oui en effet!
0
Yann2704 Messages postés 18 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 17 juin 2009 1
17 avril 2008 à 20:41
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...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 avril 2008 à 20:51
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;
?>
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 avril 2008 à 20:51
ah ben voilà.
0
Yann2704 Messages postés 18 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 17 juin 2009 1
17 avril 2008 à 21:05
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...
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 avril 2008 à 21:18
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.
0
Yann2704 Messages postés 18 Date d'inscription mardi 6 novembre 2007 Statut Membre Dernière intervention 17 juin 2009 1
18 avril 2008 à 12:12
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.
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
18 avril 2008 à 18:16
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é.
0