begin process at 2012 05 31 05:06:35
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive PHP

 > 

Archives

 > 

AU SECOURS !!!

 > 

PB Expression reguliére


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

PB Expression reguliére

dimanche 1 août 2004 à 21:32:21 | PB Expression reguliére

krevette

Salut tout le monde

Je commence a réalisé des expression réguliére pour la conception d'un forum. (enfin pour le moment je n'ais fais que tester en utilisant des expression deja réalisé) mais j'ai un problème avec une expresssion.

voici le texte de départ:

$txt='<URL="http://test"><img="http://192.168.0.121/clubv3/images/mess.jpg"></img>
<font style="font-size: 16pt; color:orange; text-decoration: underline; font-weight: bold; font-style: italic;">testet</font>
</URL>';


$tabsearch=array('`<quote="([^>].*)">([^>].*)</quote>`', '`<URL="([^>].*)">([^>].*)</URL>`', '`<img="([^>].*)">()</img>`', '`<email>([^>].*)</email>`');
$tabreplace=array('<div align="center"><div class="bgquote">Citation de:<b>$1</b><br>$2</div></div>', '<a href="$1" target="_blank">$2</a>', '<img src="$1" title="$2">', '<a href="mailto:$1">$1</a>');

echo preg_replace($tabsearch, $tabreplace, $txt);

et quand j'ulitsie les expression ca ne fonction pas

alors que le le texte de départ est :

$txt='<URL="http://test"><img="http://192.168.0.121/clubv3/images/mess.jpg"></img>
</URL><font style="font-size: 16pt; color:orange; text-decoration: underline; font-weight: bold; font-style: italic;">testet</font>';


ca fonctionne

je suppose les '" ; - doivent posé problème mais je suis incapable de le résoudre alors si qq un pouvais m'aider se serais cool.

meci d'avance pour vos réponse

krevette ;-)
dimanche 1 août 2004 à 23:20:55 | Re : PB Expression reguliére

kimmelf2

ok.

-1- essaye de mettre (string) devant chaque expression reguliere. bizarrement, chez moi, ca c'est mis a mieux marcher ....

-2- essaye de remplacer les " par des \" dans tes eregs

-3- dans ta ligne <URL="([^>].*)">([^>].*)</URL> :
la premiere parahthese enregistre dans le $1 que tu utilise apres le bloc contenu entre <URL=" et "> a condition qu'il ne contienne pas de > (le ^ indique que les caracteres qui suivent ne doivent pas faire partie du resultat)

la deuxieme parenthese fait la meme chose mais dans $2 et pour du texte compris entre <URL="...> et </URL>

essaye avec une chaine de texte de la forme <URL=...></URL><IMG=...></IMG> , en clair sans imbriquer les balises. Si ca marche, essaye en supprimant les [^>] correspondant au $2

-4- dis nous qd meme ce que t'affiche ton echo, histoire d'avoir un + plus d'infos sur le mauvais resultat
lundi 2 août 2004 à 01:54:42 | Re : PB Expression reguliére

krevette

merci pour toutes ces informations.

alors pour le (string) avant les eregs chez moi ca n'arange rien ou alors je les place pas au bonne endroit.

sinon voila le resultat que j'obtiens.

<URL="http://test"><img src="http://192.168.0.121/clubv3/images/mess.jpg" title="">
<font style="font-size: 16pt; color:orange; text-decoration: underline; font-weight: bold; font-style: italic;">testet</font>
</URL>

j'ai faits d'autres essai et si je ne mets que du texte sans balise sa fonctionne mais dés qu'il y des " ca ne fonctione plus donc je pense que les " sont le soucis mais je ne sais comment faire comprendre qu'ils puissent avoir des " dans le text entre <URL=".."> (ici possibilité de ") </URL>

voila je pense que c'est le probleme.

exemple de test concluant

$txt='<URL="http://test">toto</URL><img="http://192.168.0.121/clubv3/images/mess.jpg"></img>
<font style="font-size: 16pt; color:orange; text-decoration: underline; font-weight: bold; font-style: italic;">testet</font>';

toujours avec les même expressions reguliéres

le resultat:

<a href="http://test" target="_blank">toto</a><img src="http://192.168.0.121/clubv3/images/mess.jpg" title="">
<font style="font-size: 16pt; color:orange; text-decoration: underline; font-weight: bold; font-style: italic;">testet</font>


krevette ;-)
lundi 2 août 2004 à 16:28:25 | Re : PB Expression reguliére

defkrie

en php
$texte="afrgrg"kkhnjh";
provoque un probl de mem que pour les noms de chemin des fichiers donc utlise si tu veux
addslashes()
Ajoute des anti-slashes devant les caractères spéciaux
$res = addslashes("L'a");
provoque L\'a

stripslashes() Retire les anti-slashes devant les caractères spéciaux.
$res = stripslashes("L\'a");
provoque L'a


\-> Defkrie !?!
lundi 2 août 2004 à 17:35:56 | Re : PB Expression reguliére

krevette


merci pour ces conseils je vais voir si j'arrive a qq chose

si j'y arrive je posterais un message

krevette ;-)
mardi 3 août 2004 à 23:24:57 | Re : PB Expression reguliére

kimmelf2

normallement, utiliser un guillemet simple pour l'ensemble de la chaine devrai permettre d'utiliser des guillemets doubles a l'interieur non ?

c sur que si je fait $txt = "<URL="fic.txt"></URL>" les guillemets doubles interieurs seront mal pros en compte.

mais $txt = '<URL="fic.txt"></URL>' devrait fonctionner correctement

sinon pour le (string), avec la fnct ereg, j'avais fait ca :

ereg ((string)"mon expression reguliere", "la chaine a traiter", $variable_avec_le_resultat);

pour faire une conversion explicite de l'expression reguliere vers une chaine.


sinon, au final, j'ai ete oblige de passer par la fonction explode mais faut voire comment sont organisees tes donnees sources.

moi c'etai pour du parsing de flux RSS, et c'etai organise dans un style comme ca :
<item>
<title>titre</title>
<date>la date</date>
<description>la description</description>
</item>

chaque bloque de donnee est encadre par un <item></item> d'ou $res = explode("<item>, $chaine)
et ensuite, vu que chaque bloque ne possede qu'un titre, une date, une description (pas de balise doublee), mon ereg fonctionnait parfaitement
mercredi 4 août 2004 à 13:04:41 | Re : PB Expression reguliére

krevette

Réponse acceptée !
salut

tout d'abord merci pour toute vos réponse.

j'ai la solution que je vais vous donné.

$txt=' [ Lien ][img="http://192.168.0.121/clubv3/images/mess.jpg(.*?)"\]`', '`\[/URL\]`', '`\[email\](.*?)\[/email\]`');
$tabreplace=array('<div align="center"><div class="bgquote">Citation de:<b>$1</b><br>', '</div></div>', '<img src="$1" title="$2" border="0">', '<a href="$1" target="_blank">', '</a>', '<a href="mailto:$1">$1</a>');

$txt=preg_replace($tabsearch, $tabreplace, $txt);

voila

krevette ;-)


Cette discussion est classée dans : pb, txt, expression, réalisé, reguliére


Répondre à ce message

Sujets en rapport avec ce message

Pb serveur linux [ par sdabin ] Salut à tous !Je suis en stage en entreprise et j'ai réalisé un projet pour cette entreprise. Ce projet je l'ai réalisé en local avec EasyPHP, jusqu'i problème expression régulière [ par tony4758 ] Bonjour, j'ai un gros problème avec mon expression régulière permettant d'extraire les liens d'une page. En fait, dès qu'il y a que un lien a extraire pb htacces [ par caseblue ] Bonjour j'ai un soucis avec mes fichiers d'identification : Je travaille en local : j'ai mis un fichier htacces dans www/edl/ ..... le site que je pb d'expression régulière [ par ludovicanceaux ] Salut à tous, j'ai créé une boite mail sur mon serveur pour que les membres puissent dialoguer entre eux, poser des questions etc...., (tout ca, mais pb fonction fopen ??? [ par spike03 ] Salut,j'ai un pb avec la fonction fopen...je travail sur un serveur apache distant, et je veux créer un fichier txt sur ma machine localealors je fais Les dates c compliqué :( [ par samiweb ] Bonjour, je suis débutant en php, je me débrouille pas mal pour un début mais j'ai bloqué sur les dates et la j'ai trop cherché pour ne rien trouvé, p enntrée d un mot de passe [ par glet ] Bonjour!alors voila j' ai un petit pb1 j ai crée un table elle a un champ mot de passe (4 lettres)2.ce mot de passe est choisi aléatoirement 3.il est Expression reguliere [ par wonesek ] $mois = array( "01" => "Janvier", "02" => "Fevrier", "03" => "Mars", "04" => "Avril", "05" => "Mai", "06" => "Juin", "07" => "Juillet", "08" => pb avec un champ de type file [ par ouiskie ] Salut,j'ai un formulaire, et dedans il y a un chmap de type file, pour aller chercher l'adresse d'une image. Je v chercher l'adresse avec le bouton pa Pb de sockets (pour Tortue Géniale) [ par berserker21 ] Je m'adresse a toi parce qu'apparament t'es un peu le maitre de sockets (mais si d'autres ont des idées n'hésitez pas), voila:G un serveur en C qui at


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,281 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales