Consultez la formation SEO spéciale Wordpress
par WebRankInfo / Ranking Metrics

Messages: 318

Enregistré le: 20 Avr 2007

Message le Ven Aoû 21, 2015 15:21

Bonjour,

Je ne suis pas du tout à l'aise avec java, plutôt avec PHP. Je constate que les réactions avec une règle d'expression régulière ne sont pas les mêmes sous PHP qu'en java. J'ai donc un soucis pour créer une règle d'extraction d'une portion de texte.

J'ai un code HTML duquel je souhaite extraire uniquement une partie. Pour exemple :

Code: Tout sélectionner
$code = 'du texte et ou du code html avant <div class="rte"><p>mon texte qui peut contenir des balises html ou pas, comme c'est le cas ici puisqu'il est encadré par des balise p</p></div> </section> <div>encore du texte blabla</div>';


Je voudrai récupérer tout ce qui se trouve à l'intérieur de la balise div. Pour ce faire, en php je fais comme ça et ça fonctionne bien :

Code: Tout sélectionner
$regexp = '/<div class="rte">(.+)<\/div> <\/section>/';


en java j'ai fais la même chose et ça foire complet. Je me retrouve en java avec une extraction de tout ce qui se trouve après "<div class="rte">" sans que ça s'arrête avant "<\/div> <\/section>" Je n'y comprends rien...:calim2:

Une idée pour me sortir de cette merdouille ?

Merci d'avance
Haut
4 Réponses
Messages: 872

Enregistré le: 19 Fév 2003

Message le Ven Aoû 21, 2015 15:43

s'il n'y a pas de balises dans ce qui doit être retourné :
([^<]+)
Haut
Messages: 318

Enregistré le: 20 Avr 2007

Message le Ven Aoû 21, 2015 15:48

Merci loubet.

Mais si, justement, comme expliqué il peut y en avoir, dans l'exemple que je donne il y a d'ailleurs une balise p à récupérer avec. En bref, il peut très bien y avoir de la mise en forme HTML dans ce que je dois récupérer.

J'utilise ce que tu donnes en solutions pour d'autre portion où je suis certain de n'avoir que du texte, pas de balise html.
Haut
Messages: 63

Enregistré le: 30 Mai 2012

Message le Ven Aoû 21, 2015 19:15

Bonjour,

Euh pardon, c'est peut être une réponse stupide mais en js :
document.getElementsByClassName("rte")[0].innerHTML, ou en jquery html(), ca te retourne le contenu de la div.
Haut
Messages: 8554

Enregistré le: 14 Mai 2003

Message le Ven Aoû 21, 2015 20:48

Java != JavaScript

Bon outil pr tester ses regex: https://www.debuggex.com/
Haut

Formation recommandée sur ce thème :

Formation SEO spéciale Wordpress : apprenez à optimiser le référencement naturel d'un site fait avec Wordpress... Formation Ranking Metrics animée par un expert SEO / Wordpress.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.