mirror of
https://github.com/erusev/parsedown.git
synced 2023-08-10 21:13:06 +03:00
098f24d189
This also splits 'text' into 'text', 'elements', and 'element' to hopefully better communicate structure
41 lines
1.3 KiB
PHP
41 lines
1.3 KiB
PHP
<?php
|
|
|
|
class UnsafeExtension extends Parsedown
|
|
{
|
|
protected function blockFencedCodeComplete($Block)
|
|
{
|
|
$text = $Block['element']['element']['text'];
|
|
unset($Block['element']['element']['text']);
|
|
|
|
// WARNING: There is almost always a better way of doing things!
|
|
//
|
|
// This example is one of them, unsafe behaviour is NOT needed here.
|
|
// Only use this if you trust the input and have no idea what
|
|
// the output HTML will look like (e.g. using an external parser).
|
|
$Block['element']['element']['rawHtml'] = "<p>$text</p>";
|
|
|
|
return $Block;
|
|
}
|
|
}
|
|
|
|
|
|
class TrustDelegatedExtension extends Parsedown
|
|
{
|
|
protected function blockFencedCodeComplete($Block)
|
|
{
|
|
$text = $Block['element']['element']['text'];
|
|
unset($Block['element']['element']['text']);
|
|
|
|
// WARNING: There is almost always a better way of doing things!
|
|
//
|
|
// This behaviour is NOT needed in the demonstrated case.
|
|
// Only use this if you are sure that the result being added into
|
|
// rawHtml is safe.
|
|
// (e.g. using an external parser with escaping capabilities).
|
|
$Block['element']['element']['rawHtml'] = "<p>$text</p>";
|
|
$Block['element']['element']['allowRawHtmlInSafeMode'] = true;
|
|
|
|
return $Block;
|
|
}
|
|
}
|