Précédent   Forum des professionnels en informatique > PHP > Langage > Regex
Regex Forum d'entraide sur les expressions rationnelles PHP. Avant de poster -> FAQ regex, Cours de regex et Sources de regex
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 28/07/2006, 00h35   #1
Membre chevronné
 
Avatar de Death83
 
Inscription : mars 2005
Messages : 1 667
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 667
Points : 746
Points : 746
Par défaut Tout sauf un mot dans une REGEX?

Salut a tous,

je crois que ce que je vais demander n'est pas possible mais sais t on jamais.
En fait je voudrais pouvoir dire tout les caractères sauf un mot.

Je dis bien un mot si je fait ca:

Il s'arretera des qu'il rencontrera une de ces lettes et nom pas le mot.

Avez vous une idée qui permettrai de faire ce que je veut faire?

ps: je veut vraiment interdire le mot, on peut bidouiller en disant les 7 lettres a la suite mais dans ce ca cas ca marcherais pour toute les combinaison: exemple,exmeple;exmeple... ce que je ne souhaite pas.
__________________
manganimes (en construction) -
zemanga
Death83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2006, 10h02   #2
Membre éclairé
 
Avatar de sohnic
 
Femme
bioinfo
Inscription : mai 2003
Messages : 385
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : bioinfo

Informations forums :
Inscription : mai 2003
Messages : 385
Points : 363
Points : 363
Bonjour,
Je ne sais pas si je suis dans le bon contexte, mais en faisant un truc comme ca :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
$chaine='toto tutu';
preg_match('/toto/',$chaine,$match);
if(count($match)>0)
{
	echo 'contient toto';
}
else
{
	echo 'ne contient pas toto';
}
 
?>
Bonne journee,
Sohnic
__________________
http://www.noctinfo.fr/

(\ _ /)
(='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
(")-(")
sohnic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2006, 13h49   #3
Membre chevronné
 
Avatar de Death83
 
Inscription : mars 2005
Messages : 1 667
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 1 667
Points : 746
Points : 746
Non en effet c'est pas ca en fait ce que je veux faire c'est une regex pour bbcode.


Par exemple:

$test=[q uote]text[/q uote]

Il faut que je récuper le text entre les quote. (jusque la ca va)

je fait::
Code :
1
2
 
preg_replace('!\[q uote](.*)\[/q uote\]!isU','$1',$test);
Le probleme est ue si j'ai ca:
Citation:
[q uote]text1[/q uote][q uote]text2[/q uote]
il va me ressortir text1[/q uote][q uote]text2

Je peut faire ca pour m'en sortir mais ca voudrais dire que les utilisateurs du forum n'autront pas le droit de citer des [.

Code :
1
2
 
preg_replace('!\[q uote](^[*)\[/q uote\]!isU','$1',$test);
Avez vous une idée?
__________________
manganimes (en construction) -
zemanga
Death83 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/07/2006, 14h40   #4
Membre éclairé
 
Avatar de sohnic
 
Femme
bioinfo
Inscription : mai 2003
Messages : 385
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : bioinfo

Informations forums :
Inscription : mai 2003
Messages : 385
Points : 363
Points : 363
Bizarre, j'ai repris ton code par copier coller et je n'ai pas le meme resultat que toi :

Code :
1
2
3
4
5
 
$test= '[q uote]text1[/q uote][q uote]text2[/q uote]';
//$test='[q uote]text[/q uote]';
$res=preg_replace('!\[q uote](.*)\[/q uote\]!isU','$1',$test);
echo $res;
$res vaut text avec le deuxieme $test (jusque la, rien de special)
et $res vaut text1text2 avec le premier $test...

Sinon, je n'ai pas d'idee particuliere... desolée,

Sohnic
__________________
http://www.noctinfo.fr/

(\ _ /)
(='.'=) Voici Lapinou. Aidez-le à conquérir le monde en le reproduisant.
(")-(")
sohnic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2006, 11h12   #5
Expert Confirmé
 
Avatar de Maxoo
 
Maxime Pasquier
Expert PHP
Inscription : novembre 2004
Messages : 2 126
Détails du profil
Informations personnelles :
Nom : Maxime Pasquier
Âge : 28
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Expert PHP
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : novembre 2004
Messages : 2 126
Points : 2 602
Points : 2 602
Citation:
Envoyé par Death83
Non en effet c'est pas ca en fait ce que je veux faire c'est une regex pour bbcode.
c'est parce que le fin de ] tu l'échappait pas : \]

ce qui te donnes :
Code :
1
2
3
4
5
<?php
$in = '#\[quote\](.*)\[/quote\]#Usi';
$out = "TOTO$1TOTO";
preg_replace($in, $out, $txt);
?>
et tu as la FAQ de developpez, je sais pas si tu l'as vu.
http://php.developpez.com/faq/?page=...es_parsebbcode

A++
__________________
Pour une bien meilleur lisibilité, utilisez la balise [code], c'est le [#] dans votre éditeur.
Mon espace Développez : mes Créations.


Rencontre & Carte des Membres de Developpez.com, version 3.0
Maxoo est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h14.


 
 
 
 
Partenaires

Hébergement Web