为了好玩,我决定做类似于降价的事情。凭借我过去对正则表达式的小体验,我知道他们有多么强大,所以他们将成为我需要的。PHP preg_replace将** xyz **改为<b>xyz</b>
所以,如果我有这样的字符串:
Hello **bold** world
如何,我可以使用的preg_replace来转换到:
3210我认为这样的事情?
$input = "Hello **bold** world";
$output = preg_replace("/(\*\*).*?(\*\*/)", "<b></b>", $input);
在正则表达式中,您可能会完全按照您的要求进行操作,但请记住,标记等内容不应该使用正则表达式实现。 Joel Spolsky在Stack Overflow播客中谈到了这个问题。看看有限状态机。 – emurano 2010-10-25 21:56:19
指向播客的链接:http://itc.conversationsnetwork.org/shows/detail4359.html – 2010-10-25 22:02:46
@emurano FSM可以处理的语言是常规的;因此它们可以由正则表达式来处理。 – NullUserException 2010-10-25 22:27:25