$hello$ \(world\) $$hello$$ \[world\] \($this\) \[\int_xf(y)\textrm{d}y\] DEBUG THIS -- closing braces are disappearing. Perhaps require that display math be separated from other text by newlines \[ f(x)=\left\{begin{array}}[lr] x=0 & \pi\\ \text{otherwise} & sin(x) \end{array}\right. \] Pt2: protect stuff like the above from everything. We cannot global protect `/^\[$.*?^\]$/` and require that `\[...\]`. as global protected stuff takes precedence over everything else. Thus we protect such blocks, after fenced code blocks, from both WikiWord and Parsedown. We want a way to specify the pattern and replacement only once. So instead have ```php $protect_rule = [ $name => "code blocks", $pattern => '@^```.*^```$@s', $replacement => function($match) { ... } ]; $protect->add($protect_rule); $protect_rule = $protect->make_rule($name,$pattern,$replacement); $protect_rule = $protect->get_rule($name); $protect_rules = $protect->get_rules(); # all in order $protect->append_rules(array $protect_rules); $protect->set_rule($name,$pattern,$replacement); $protect->add_rule($protect_rule); $protect->add($name,$pattern,$replacement); ```