begin process at 2010 03 22 09:26:31
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Api

 > WRAPPER REGEXP PHP EN JAVA

WRAPPER REGEXP PHP EN JAVA


 Information sur la source

Note :
4,67 / 10 - par 3 personnes
4,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Api Classé sous :pregsplit, ereg, eregi, eregreplace, eregireplace Niveau :Débutant Date de création :26/04/2006 Date de mise à jour :26/04/2006 17:06:58 Vu :6 354

Auteur : mdrjeuxvideo

Ecrire un message privé
Site perso
Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note

 Description

Ce code permet d'utiliser les fonctions de PHP en java et notemment les fonctions qui utilisent les éxpressions régulières comme ereg, eregi, ereg_replace, eregi_replace, preg_split, ce code je l'ai cré dans un but de migrer de PHP en J2EE dans le cadre d'un projet, et afin de profiter de la puissance du syntaxe des éxpressions régulières PHP en utilisant java.

Source

  • import java.lang.String;
  • import java.util.regex.*;
  • public class RegexpWrapper
  • {
  • RegexpWrapper()
  • {
  • }
  • public static boolean ereg(String patt,String subj)
  • {
  • // compilation de la regex avec le motif : patt
  • Pattern p = Pattern.compile(patt);
  • // création du moteur associé à la regex sur la chaîne
  • Matcher m = p.matcher(subj);
  • //retourne la valeur
  • boolean b=m.matches();
  • return b;
  • }
  • public static boolean eregi(String patt,String subj)
  • {
  • // compilation de la regex avec le motif : patt
  • Pattern p = Pattern.compile(patt,Pattern.CASE_INSENSITIVE);
  • // création du moteur associé à la regex sur la chaîne
  • Matcher m = p.matcher(subj);
  • //retourne la valeur
  • boolean b=m.matches();
  • return b;
  • }
  • public static String ereg_replace(String patt,String remplacement,String subj)
  • {
  • // compilation de la regex avec le motif : patt
  • Pattern p = Pattern.compile(patt);
  • // création du moteur associé à la regex sur la chaîne
  • Matcher m = p.matcher(subj);
  • // remplacement de toutes les occurrences
  • String s = m.replaceAll(remplacement);
  • return s;
  • }
  • public static String eregi_replace(String patt,String remplacement,String subj)
  • {
  • // compilation de la regex avec le motif : patt
  • Pattern p = Pattern.compile(patt,Pattern.CASE_INSENSITIVE);
  • // création du moteur associé à la regex sur la chaîne
  • Matcher m = p.matcher(subj);
  • // remplacement de toutes les occurrences
  • String s = m.replaceAll(remplacement);
  • return s;
  • }
  • public static String[] preg_split(String patt,String subj)
  • {
  • // compilation de la regex avec le motif : patt
  • Pattern p = Pattern.compile(patt);
  • // séparation en sous-chaînes
  • String[] items = p.split(subj);
  • //retourner le tableau de string
  • return items;
  • }
  • }
import java.lang.String; 
import java.util.regex.*;

public class RegexpWrapper 
{
	RegexpWrapper()
	{
		
	}
	public static boolean ereg(String patt,String subj)
	{
		// compilation de la regex avec le motif : patt
		Pattern p = Pattern.compile(patt);
		// création du moteur associé à la regex sur la chaîne 
		Matcher m = p.matcher(subj);
		//retourne la valeur
		boolean b=m.matches();
		return b;
	}
	public static boolean eregi(String patt,String subj)
	{
		// compilation de la regex avec le motif : patt
		Pattern p = Pattern.compile(patt,Pattern.CASE_INSENSITIVE);
		// création du moteur associé à la regex sur la chaîne 
		Matcher m = p.matcher(subj);
		//retourne la valeur
		boolean b=m.matches();
		return b;
	}
	public static String ereg_replace(String patt,String remplacement,String subj)
	{
		// compilation de la regex avec le motif : patt
		Pattern p = Pattern.compile(patt);
		// création du moteur associé à la regex sur la chaîne 
		Matcher m = p.matcher(subj);
		// remplacement de toutes les occurrences
		String s = m.replaceAll(remplacement);
		return s;
	}
	public static String eregi_replace(String patt,String remplacement,String subj)
	{
		// compilation de la regex avec le motif : patt
		Pattern p = Pattern.compile(patt,Pattern.CASE_INSENSITIVE);
		// création du moteur associé à la regex sur la chaîne 
		Matcher m = p.matcher(subj);
		// remplacement de toutes les occurrences
		String s = m.replaceAll(remplacement);
		return s;
	}
	public static String[] preg_split(String patt,String subj)
	{
		// compilation de la regex avec le motif : patt
		Pattern p = Pattern.compile(patt);
		// séparation en sous-chaînes
		String[] items = p.split(subj);
		//retourner le tableau de string
		return items;
	}
}

 Conclusion

J'éspere bien que ce code vous sera utile et vous facilite la vie, je met à votre disposition mon mail omarnetfr@hotmail.fr n'hésitez pas de me mailer en cas de besoind d'aide ou d'information.


 Historique

26 avril 2006 17:06:58 :
Suite à vous commentaires, j'ai élargi mon explication afin qu'il sera compréhensible par tout le monde.

 Sources du même auteur

Source avec Zip Source avec une capture PROJET POUR L'IMPLÉMENTATION D'UN WORKFLOW DE GESTION DES CO...
Source avec Zip EXEMPLE DE CORBA-JAVA DE CLIENT/SERVEUR SIMPLE BASÉ SUR LA R...
Source avec Zip CONNECTION D'UNE SERVLET AVEC UNE BASE DE DONNÉES MYSQL ET L...

 Sources de la même categorie

Source avec Zip Source avec une capture LETMESEE : CAPTURE D'ÉCRAN À INTERVALLE RÉGULIER : UTILISATI... par pyo656
ENVOI D'UNE ARBORESSENCE EN JAVA VERS SERVEUR FTP par moumou95
ENREGISTRER L'ARBORESCENCE D'UN JTREE DANS UN XML AVEC JDOM par coltman
Source avec Zip WIZARD JAVA API par aissam36
JCONFIGURATIONMANAGER - GESTION DES CONFIGURATIONS par Francks11

Commentaires et avis

Commentaire de d_0_g_m le 26/04/2006 14:27:21

salut !!!
je ne comprend pas, quel rapport tu vois entre php et java ???
chacun son truc sauf si tu utilise java pour le web , dans ce cas pas besoin d'immigrer tu peux les utiliser tout les deux, sinon explique moi pour me corriger , merci :-)

Commentaire de neodante le 26/04/2006 15:53:31 administrateur CS

Idem que DOGM .. d'ailleurs on dit migrer et non immigrer ;-) Et aussi 'profiter de la puissance de PHP en utilisant java' ben non puisque tes fonctions sont bien en Java donc je vois pas où tu utilises la 'puissance' de PHP ... si ce n'est que tu as mis le même nom au méthode Java qu'au PHP afin de ne pas perdre ses réflexes PHP en passant à Java :s

Commentaire de mdrjeuxvideo le 26/04/2006 17:14:14

1. Il y a un rapport entre PHP et Servlets et les servlet sont issues de Java donc il y a une rapport entre java et php.
2. Pour profiter de la facilité de PHP à manipuler les éxpressions régulières j'ai cré ces fonctions, car en Java on doit à chaque fois déclarer 3 objets donc ça fait 3 ou 4 lignes de codes plus l'encombrement de la mémoire engendré, en PHP c'est facile une ligne suffit.

Commentaire de neodante le 26/04/2006 17:26:22 administrateur CS

Salut,
je ne vois vraiment pas le rapport avec des servlets dans ton code ... si tu l'utilises pour cela dans ton cas c'est autre chose ... c'est plutot ça qui me gene dans ta présentation de ta source, c'est implement quelques méthodes qui wrap un objet pour une utilsiation spécifique ...

++

Commentaire de neodante le 26/04/2006 18:52:26 administrateur CS

Salut,
Ta phrase "Ce code permet d'utiliser les fonctions de PHP en java" est très ambigue, puisque tu utilises du Java pour faire du Java, c'est simplement que tu as créé des fonctions qui sont les équivalents en terme de fonctionnalités identiques au fonction du même nom de PHP ...

Donc tu n'utilises absolument pas de fonctions PHP !!! Et encore moins de fonctions PHP en Java ...
Java 6 devrait pouvoir faire cela mais ici c'est pas le cas ;-)

++

Commentaire de brasseld le 27/04/2006 08:52:20

Pour remplacer une chaine de caractére dans une chaine de caractere par une autre chaine, je faisais directement :
String s = "testtesttesttesttesttest";
s.replaceAll("te", "Te");

Maintenant si j'utilise sa méthode eregi_replace avec le pattern et le matcher, qu'elle est la meilleure méthode à utiliser et surtout qu'elle est la plus rapide. Car je dois remplacer des tag dans une page html du style <!--{{TAG_SELECT_SEMAINES}}--> par du contenu.

Pour moi les deux méthodes font la même chose, car je penser que le replaceAll de String créait implicitement un matcher et un pattern...

Commentaire de mdrjeuxvideo le 27/04/2006 13:06:37

->Neodante: Ces fonctions n'ont pas de relation directe avec les servlets, ils peuvent être utilisé dans java dans jsp, mais dans mon cas je les utilise dans des servlets.
->Neodante: conçernant ma présentation pour la source, je suis ouvert à toute proposition pour qu'il sert de bien au utilisateurs.
->Brasseld: oui, t'as raison je me suis pas rendu compte que l'objet String contient la même fonction sauf que dans ton cas t'as fais 2 ligne + une autre ligne pour réupérer la chaine, donc sera mieux d'utiliser ma fonction, en plus pour les programmeurs de PHP ils vont trouvé ça sympa, le syntaxe de PHP en java.

Commentaire de brasseld le 28/04/2006 09:04:24

Ouais enfin, si tu veux tu la refais en une ligne si c'est au nombre de ligne que tu juges :
public static String eregi_replace(String patt,String remplacement,String subj) {
return subj.replaceAll(patt, remplacement);
}

Et j'ai pas envie d'écrire les autres mais c'est exactement pareil.  En plus, tu fais explicitement quelque chose que Java fait implicitement avec sa classe String. La méthode indexOf permet de vérifier si ta chaîne contient une autre chaîne. La méthode split est également connue...

Bref, finalement je ne vois pas l'intérêt de ta source à moins que ce soit juste pour utiliser les noms de méthode à la PHP...

Commentaire de benmor le 23/06/2006 11:33:19

Bonjour,

Je suis un peu d'accord avec les autres de l'intérêt limité de ta source, par contre ce qui aurais été bien de voir, c'est les fonctions PHP du type "int ereg(string pattern, string string , array &regs)" qui écrit dans "regs" un tableau des captures données dans le masque. ( http://fr3.php.net/manual/fr/function.ereg.php )

Bonne continuation ;) .

Commentaire de ludosoft le 21/10/2008 15:18:23 10/10

Moi je trouve cette source très très pratique car je suis pas mal habitué à manipuler les fonctions PHP "ereg" etc. Disons que là tout de suite ça me fait gagner un temps fou pour un projet simple de migration de données entre 2 BDD...

Merci !

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
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,780 sec (4)

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