[pmwiki-users] nested span tag markup
jens at quefaire.de
jens at quefaire.de
Fri Oct 18 02:57:42 CDT 2013
Hello,
I'm trying to write a markup rule for nested span tags.
Example:
(:span SomeAttr="x":)Text
(:span1 someAttr="y":)nested span
(:span1end:)some more text in outer span
(:spanend:)
should result in
<span SomeAttr="x">Text<span someAttr="y">nested span</span>some more
text in outer span</span>
I grabbed the code from an old post in this list concerning nested
block elements. After playing around with the regexp, it will
sometimes generate correct html, but often pmwiki will incorrectly add
'</p>' or something else, to close the block.
Currently the rule is inserted before any block markup rule
('<block'). What is the correct position in the markup list for this
kind of markup? Is there a way to prevent pmwiki from inserting
additional block element tags?
Here's the code (file nestspan.php):
<?php if (!defined('PmWiki')) exit();
function HTMLBlock($block, $name, $attr) {
global $MarkupFrame;
$attr = PQA($attr);
$name = strtolower($name);
$key = preg_replace('/end$/', '', $name);
$out = '<:block>'.MarkupClose($key);
if (substr($name, -3) == 'end') return $out;
$cf = & $MarkupFrame[0]['closeall'];
$out .= "<$block $attr>";
$cf[$key] = "</$block>";
return $out;
}
Markup('nestspan', '<block',
'/\\(:(span([^\\s]*(end)?))(\\s?.*?):\\)/ie',
"HTMLBlock('span','$1',PSS('$4'))");
?>
regards
Jens
More information about the pmwiki-users
mailing list