Page MenuHomePhabricator

abstract class PhutilRemarkupRule
Phabricator Technical Documentation (Remarkup)

This class is not documented.

Methods

public function setEngine($engine)

This method is not documented.
Parameters
PhutilRemarkupEngine$engine
Return
wild

public function getEngine()

This method is not documented.
Return
wild

public function getPriority()

This method is not documented.
Return
wild

abstract public function apply($text)

This method is not documented.
Parameters
$text
Return
wild

public function getPostprocessKey()

This method is not documented.
Return
wild

public function didMarkupText()

This method is not documented.
Return
wild

protected function replaceHTML($pattern, $callback, $text)

This method is not documented.
Parameters
$pattern
$callback
$text
Return
wild

private function replaceHTMLCallback($match)

This method is not documented.
Parameters
array$match
Return
wild

protected function newTag($name, $attrs, $content)

Safely generate a tag.

In Remarkup contexts, it's not safe to use arbitrary text in tag attributes: even though it will be escaped, it may contain replacement tokens which are then replaced with markup.

This method acts as phutil_tag(), but checks attributes before using them.

Parameters
string$nameTag name.
dict<string,$attrswild> Tag attributes.
wild$contentTag content.
Return
PhutilSafeHTMLTag object.

protected function assertFlatText($text)

Assert that a text token is flat (it contains no replacement tokens).

Because tokens can be replaced with markup, it is dangerous to use arbitrary input text in tag attributes. Normally, rule precedence should prevent this. Asserting that text is flat before using it as an attribute provides an extra layer of security.

Normally, you can call newTag() rather than calling this method directly. newTag() will check attributes for you.

Parameters
wild$textOstensibly flat text.
Return
stringFlat text.

protected function isFlatText($text)

Check whether text is flat (contains no replacement tokens) or not.

Parameters
wild$textOstensibly flat text.
Return
boolTrue if the text is flat.