Reg exp : je sux

46 réponses
AuteurMessage

acti | Stéphane
Modérateur

Photo de acti

Inscrit le : 13/11/2005

# Le 03/06/2015 à 15:40

Le pipe ne sert à rien, autant garder une Regex toute simple.

Sinon, tu as plusieurs solutions :
- Utiliser une extension PHP pour gérer ça : http://php.net/manual/en/book.bbcode.phpOuvrir dans une nouvelle fenetre .
- Modifier ton code.

Voici une bout de code qui devrait te permettre d'avancer :

$orig[] = "/\b" . preg_quote($smilies[$i]['code'], "/") . "\b/";

Ceci permet d'éviter de changer un smiley collé à un autre mot ou dans un mot.

Stéphane

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 03/06/2015 à 15:55

Yep, c'est ce que j'allais dire, sur BoolSite j'utilise les assertions "\b" pour gérer le smileys.

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 03/06/2015 à 15:58

Mais en fait, un simple:loul: (collé au mot qui le précède) devrait quand même afficher le smiley au final.

Ici, si je colle le smile au mot, ca fonctionne

Le seul truc un peu relou, ce sont les url, faudrait pas faire de smiley dans.

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

Bool | Olivier
Modérateur

Photo de Bool

Inscrit le : 09/05/2005

# Le 03/06/2015 à 16:03

Pour les URL vs Smileys : http://www.webworkerclub.com/forum/topic,6766,0.ht...Ouvrir dans une nouvelle fenetre

daevel : infogérance et conseilOuvrir dans une nouvelle fenetre || moiOuvrir dans une nouvelle fenetre

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 29/09/2016 à 17:59

Yop

Encore besoin d'un petit coup de main

Si je fais ça :


$texte[] = "OO aa OO";
$texte[] = "OO a\na OO";
$reg = '|OO(.*)OO|i';
foreach($texte as $text)
{
echo "$text - ";
if(preg_match($reg, $text))
echo 'ok';
else
echo 'no';
echo "<br />";
}


J'ai ça :


OO aa OO - ok
OO a
a OO - no


Je pensais naivement que .* remplçait tous les caractères, meme les sauts de lignes, mais non.

Qui peut me filer un petit coup de main pour que $reg fonctionne avec mes 2 exemples ?

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

schtroumpf | Arnaud
Modérateur

Photo de schtroumpf

Inscrit le : 05/04/2007

# Le 29/09/2016 à 18:04

Oui, c'est l'exception qui confirme la règle

"Pour le point, il existe une exception : il indique tout sauf les entrées (\n).
Pour faire en sorte que le point indique tout, même les entrées, vous devrez utiliser l'option « s » de PCRE. Exemple :
#[0-9]-.#s"

https://openclassrooms.com/courses/concevez-votre-...Ouvrir dans une nouvelle fenetre

Arnaud

VisoterraOuvrir dans une nouvelle fenetre - VisofloraOuvrir dans une nouvelle fenetre - VisorandoOuvrir dans une nouvelle fenetre

krucial | Jean Christophe
Administrateur

Photo de krucial

Inscrit le : 09/03/2005

# Le 29/09/2016 à 18:45

Merci !

JC - Mes sitesOuvrir dans une nouvelle fenetre | Affiliation devis travauxOuvrir dans une nouvelle fenetre | Cotes voitures anciennesOuvrir dans une nouvelle fenetre

Répondre

Vous ne pouvez pas participer au forum, car votre inscription n'a pas été validée. Pour vous faire valider en tant que Membre, cliquez ici.

© MHN - Tous droits réservés | CNIL N°844440 | 23/11/2024 9:52:59 | Généré en 6.01ms | Contacts | Mentions légales |