J'ai décidé, pour le plaisir, de faire quelque chose de similaire à markdown. Avec mes petites expériences avec les Expressions Régulières dans le passé, je sais à quel point elles sont puissantes, donc elles seront ce dont j'ai besoin.PHP preg_replace pour tourner ** xyz ** à <b>xyz</b>
Donc, si j'ai cette chaîne:
Hello **bold** world
Comment puis-je utiliser preg_replace pour convertir en:
Hello <b>bold</b> world
Je suppose quelque chose comme ça?
$input = "Hello **bold** world";
$output = preg_replace("/(\*\*).*?(\*\*/)", "<b></b>", $input);
Il est peut-être possible de faire exactement ce que vous avez demandé dans les expressions régulières, mais gardez à l'esprit que quelque chose comme markdown ne devrait pas vraiment être implémenté en utilisant des expressions régulières. Joel Spolsky en parle dans l'un des podcasts de Stack Overflow. Regardez dans les machines à états finis. – emurano
Un lien vers le podcast: http://itc.conversationsnetwork.org/shows/detail4359.html –
@emurano Les langues qui peuvent être traitées par les FSM sont régulières; ainsi ils peuvent être manipulés par regexes. – NullUserException