我需要有关正则表达式模式的帮助,它将替换/获取第一个字体大小" span"在每个表之前,并在表样式定义中使用跨越字体大小但跨度需要没有关闭标记,但尚未关闭span标记。
从:
<span style="font-size:10px;">
<table>...</table>
</span>
为:
<span style="font-size:10px;">
<table style="font-size:10px;">...</table>
</span>
它需要遍布每个&#34;表&#34;在某个范围内,字体大小做同样的事情。
答案 0 :(得分:0)
请勿使用regex
来解析html
,使用html
解析器,例如PHP: DOMDocument,即:
$html = <<< EOF
<span style="font-size:10px;">
<table>...</table>
</span>
EOF;
$dom = new DOMDocument(); # create DOMDocument
$dom->loadHTML($html); # Load $html into DOMDocument
foreach ($dom->getElementsByTagName('table') as $item) { # find all table elements in html
$parent = $item->parentNode; # get parent node (<span>)
$parent_style = $parent->getAttribute('style'); # get style attribute for parent node
$item->setAttribute('style', $parent_style); # set $parent_style as style attribute
echo $dom->saveHTML();
}