使用PHP删除表格内联样式
是否有一种简单的方法可以使用PHP从表格中删除内联样式和属性。使用PHP删除表格内联样式
例如,从下面的代码删除类,风格,宽度,高度:
<tr class=xl96 height=30 style='mso-height-source:userset;height:23.1pt'> <td height=30 class=xl99 style='height:23.1pt;border-top:none'>9</td>
<td class=xl100 style='border-top:none;border-left:none'>46333</td>
<td class=xl101 style='border-top:none;border-left:none'>¥698</td>
<td class=xl99 style='border-top:none;border-left:none'>48</td>
<td class=xl100 style='border-top:none;border-left:none'>2077988</td>
<td class=xl101 style='border-top:none;border-left:none'>¥698</td>
<td class=xl98></td>
<td class=xl96></td>
<td class=xl96></td>
</tr>
预期结果:
<tr> <td>9</td>
<td>46333</td>
<td>¥698</td>
<td>48</td>
<td>2077988</td>
<td>¥698</td>
<td></td>
<td></td>
<td></td>
</tr>
回答:
$doc = new DOMDocument(); $doc->loadHTML($html);
foreach($doc->getElementsByTagName('*') as $node)
{
$node->removeAttribute('height');
$node->removeAttribute('style');
$node->removeAttribute('class');
}
$doc->removeChild($doc->firstChild);
$doc->replaceChild($doc->firstChild->firstChild->firstChild, $doc->firstChild);
echo $doc->saveHTML();
输出
<tr><td>9</td> <td>46333</td> <td>¥698</td> <td>48</td> <td>2077988</td> <td>¥698</td> <td></td> <td></td> <td></td> </tr>
回答:
$yourVariable= preg_replace('#(<[a-z ]*)(style=("|\')(.*?)("|\'))([a-z ]*>)#', '\\1\\6', $yourVariable);
尝试
回答:
我也只有这样,想象一下,这将工作是这样的:
<?php $styles = ' style="border-top:none;border-left:none;"';
echo '<tr class=xl96 height=30 style='mso-height-source:userset;height:23.1pt'>
<td height=30 class=xl99 style='height:23.1pt;border-top:none'>9</td>
<td class=xl100'.$style.'>46333</td>
<td class=xl101'.$style.'>¥698</td>
<td class=xl99'.$style.'>48</td>
<td class=xl100'.$style.'>2077988</td>
<td class=xl101'.$style.'>¥698</td>
<td class=xl98></td>
<td class=xl96></td>
<td class=xl96></td>
</tr>
?>
或使用正则表达式。
回答:
或者你把这段你的CSS:
Table {
border-top:auto !important;
border-left:auto !important;
Height:auto !important;
}
以上是 使用PHP删除表格内联样式 的全部内容, 来源链接: utcz.com/qa/266606.html