Problème slash dans regex
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je débute avec les regex et j'ai un souci.
J'essaie de parser le texte
Voici le code, j'ai commenté la ligne qui semble poser problème :
Merci de m'aider, j'ai essayé plusieurs combinaisons mais sans succès...
Je débute avec les regex et j'ai un souci.
J'essaie de parser le texte
//italique//pour le mettre en italique, mais ça s'applique à tout le reste de mon code et ça transforme les hyperliens...
Voici le code, j'ai commenté la ligne qui semble poser problème :
<?php function markdown($text) { // Markdown $find = array( '~\_\_(.*?)\_\_~s', '~\*\*(.*?)\*\*~s', '~\/\/(.*?)\/\/~s', // Cette ligne ! '~\[quote\](.*?)\[/quote\]~s', '~\[size=(.*?)\](.*?)\[/size\]~s', '~\{color:(.*?)\}(.*?)\{!color\}~s', '~\[url\]((?:ftp|https?)://.*?)\[/url\]~s', '~\[img\](https?://.*?\.(?:jpg|jpeg|gif|png|bmp))\[/img\]~s' ); // HTML $replace = array( '<span style="text-decoration:underline;">$1</span>', '<b>$1</b>', '<i>$1</i>', '<pre>$1</'.'pre>', '<span style="font-size:$1px;">$2</span>', '<span style="color:$1;">$2</span>', '<a href="$1">$1</a>', '<img src="$1" alt="" />' ); // Conversion du markdown en html return preg_replace($find,$replace,$text); } $string = "**gras**, __souligné__, //italique// avec du {color:blue}bleu{!color}, un lien [url]http://google.fr[/url] et une image [img]http://eu.battle.net/wow/static/images/layout/cms/forum_landing.png[/img]"; echo markdown($string); ?>
Merci de m'aider, j'ai essayé plusieurs combinaisons mais sans succès...
A voir également:
- Problème slash dans regex
- 3d slash - Télécharger - 3D
- Slash droit ✓ - Forum Autres distributions Linux
- Le signe " | " dans excel - Forum Excel
- Barre verticale droite sur clavier mac - Forum MacOS
- Anti slash ✓ - Forum Réseau
1 réponse
Je crois que j'ai compris le problème mais je n'arrive pas à le corriger.
Mon exemple contient plusieurs liens, et mes liens contiennent les caractères // qui vont tout mettre en gras...
J'ai essayé de faire ça pour exclure la séquence
Ça fonctionne, mais l'espace avant le texte en italique est supprimé...
Mon exemple contient plusieurs liens, et mes liens contiennent les caractères // qui vont tout mettre en gras...
J'ai essayé de faire ça pour exclure la séquence
://:
~[^:$]\/\/(.*?)\/\/~s
Ça fonctionne, mais l'espace avant le texte en italique est supprimé...