为了好玩,我决定做一些类似于降价的东西。凭借我过去使用正则表达式的小经验,我知道它们是多么强大,所以它们将成为我所需要的。
所以,如果我有这个字符串:
Hello **bold** world
如何使用preg_replace将其转换为:
Hello <b>bold</b> world
我假设这样的事情?
$input = "Hello **bold** world";
$output = preg_replace("/(\*\*).*?(\*\*/)", "<b></b>", $input);
答案 0 :(得分:9)
关闭:
$input = "Hello **bold** world";
$output = preg_replace("/\*\*(.*?)\*\*/", "<b>$1</b>", $input);
答案 1 :(得分:2)
我相信有一个用于渲染Markdown的PHP包。而不是自己动手,尝试使用已编写和测试的现有代码集。
答案 2 :(得分:1)
嗯,我想这可以起作用
$output = preg_replace('/\*\*(.*?)\*\*/', '<b>$1</b>', $input);
您找到所有序列**something**
,然后用粗体标记找到整个序列,并在其中($1
)替换第一个捕获的组(表达式中的括号)。
答案 3 :(得分:0)
$output = preg_replace("/\*\*(.*?)\*\*/", "<b>$1</b>", $input);