0

>ブロック引用の一部をマークするために使用されるStack Overflow などのパーサーに、ブロック引用を追加したいと考えています。

クラスを開始するために私がやっていることは次のとおりです。

<?php

$string = "This is a paragraph

> This is a blockquote
> This is a blockquote
> This is a blockquote

This is another paragraph
";
$md = new Markdown();
echo $md->parseString($string);

ブロック引用を解析するためにクラス内で行っていることは次のとおりです。問題は、引用したい部分が見つからないことです。

<?php
$this->string = preg_replace("/^>(.+?)/is", "<blockquote>$1</blockquote>", $this->string);

これらの複数行の引用符を見つけるにはどうすればよいですか?

4

2 に答える 2

1

を使用してコールバックで置換を行うことができます。次に、コールバックで、この「」 /(?:^>.+\n)+/mを使用して $match[0] の置換の結果を返します。/^>/m

 return '<blockquote>' + preg_replace( '/^>/m', "", $match[0] ) + '</blockquote>';

(私はphpが初めてです)

于 2013-10-14T23:47:25.443 に答える