PHP / Markdown:需要匹配反引号内的代码块

时间:2016-06-02 09:07:24

标签: php markdown preg-match-all

我正在创建一个包含代码视图的开发者网站, 但是当他们输入代码我需要它以某种方式所以在PHP中可以将其转换为html特殊方式,

我需要能够使用的降价是

```codechanger
``php
<?php ?>
``
``c#
$foo = bar;
``
```

因此,一旦第一个正则表达式选择代码更换器,我需要能够选择每个代码,但我只需要知道正则表达式匹配其中的所有内容,即使它在多行上。

这就是我试图使用的

preg_match_all("/\`\`codechanger.*?^\`\`[^\r\n]*/s", $text, $out);

任何问题都可以随意提问。

1 个答案:

答案 0 :(得分:1)

如果您想在起点和终点之间获取文字,可以执行以下操作:START .*? END

```codechanger(.*?)```

如果与s旗帜结合使用,则会在$1之间为您提供开始和结束位置之间的所有内容。

获得结果后,您可以执行另一个preg_match_all来获取内部标记。

Here is a demo