Regexp pour captuer des liens wiki

Regexp pour captuer des liens wiki - PHP - Programmation

Marsh Posté le 08-11-2010 à 18:04:11    

Bonjour,
J'ai un petit pb pour faire une regexp permettant de capturer les liens au format wiki (syntaxe mediawiki).
Ex avec cette phrase :  

Vous pouvez consigner vos remarques, [[demandes]] d'évolutions et suggestions sur les rubriques à développer en priorité dans le wiki dans la section [[suggestions|boîte à suggestions]].


 
Je voudrais capturer [[demandes]] et [[suggestions|boîte à suggestions]] et je galère pour trouver la bonne regexp.
 
Si qq'un peut m'aider, merci par avance :jap:


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 08-11-2010 à 18:04:11   

Reply

Marsh Posté le 08-11-2010 à 22:03:47    

perso je te propose ça pour commencer :

Code :
  1. <?php
  2. $str = "Vous pouvez consigner vos remarques, [[demandes]] d'évolutions et suggestions sur les rubriques à développer en priorité dans le wiki dans la section [[suggestions|boîte à suggestions]].";
  3. preg_match_all("#(\[\[(.*?)\]\])#",$str,$matches);
  4. print_r($matches);
  5. ?>


 
mais je ne suis pas un as du regex ;)
 
résultat obtenu :

Citation :

Array
(
    [0] => Array
        (
            [0] => [[demandes]]
            [1] => [[suggestions|boîte à suggestions]]
        )
 
    [1] => Array
        (
            [0] => [[demandes]]
            [1] => [[suggestions|boîte à suggestions]]
        )
 
    [2] => Array
        (
            [0] => demandes
            [1] => suggestions|boîte à suggestions
        )
 
)


 
voila pour le début ;)


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 09-11-2010 à 10:03:23    

Merci, ça à l'air de répondre à mon besoin. Mais je suis déçu de mon "super" site http://gskinner.com/RegExr/ qui jusqu'à présent, m'avait toujours montré correctement ce que je capturais avec une regexp alors que la tienne ne semble pas fonctionner correctement pour lui :/
 
Edit : ah ben si, il montre bien la bonne capture... ouf! :)


Message édité par rufo le 09-11-2010 à 10:07:18

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 09-11-2010 à 10:52:39    

on peut même la modifier, comme ça il y aura moins de retour ;)

Code :
  1. preg_match_all("#(\[\[.*?\]\])#",$str,$matches);


 
Edit : sympas le smpas ton site pour les regex, je ne connaissais âs ;)


Message édité par stef_dobermann le 09-11-2010 à 10:54:16

---------------
Tout à commencé par un rêve...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed