【发布时间】:2014-02-01 16:06:29
【问题描述】:
我需要用具有特定类的 div 替换 tr 和 td 标签。
<td align="center" valign="top">CONTENT</td> 应替换为<div class="myCLass">CONTENT</div>
tr 标签也是如此。标签内可能有style、class、id、align、height等属性,需要替换。
我正在尝试将 table->tbody->tr->td 转换为 Bootstrap。所以我需要将 tr 标签更改为 <div class="row"> 并将 td 标签更改为 <div class="col-lg-12"> 并删除 table、tbody 标签。
这是我尝试过的,但没有成功:
$html = preg_replace('/<tr (.*?)<\/tr>/si', '<div class="myClass" $1</div>', $html);
输入:
<table border="0" _mce_new="1">
<tbody>
<tr>
<td align="center" valign="top">
<img src="" class="img-responsive">
</td>
<td align="center" valign="top">
<img src="" class="img-responsive">
</td>
</tr>
<tr>
<td align="center" valign="top">CONTENT 1</td>
<td align="center" valign="top">CONTENT 2</td>
</tr>
</tbody>
</table>
输出:
<div class ="row">
<div class ="col-lg-12">
<img src="" class="img-responsive">
</div>
<div class ="col-lg-12">
<img src="" class="img-responsive">
</div>
</div>
<div class ="row">
<div class ="col-lg-12">
CONTENT 1
</div>
<div class ="col-lg-12">
CONTENT 2
</div>
</div>
这里有可能解决我的问题:
$html = preg_replace('/<td.*?>(.*?)<\/td>/i', '<div class="col-lg-12">$1</div>', $html);
$html = preg_replace('/<tr.*?>(.*?)<\/tr>/i', '<div class="row">$1</div>', $html);
之后,我删除了 table 和 tbody 标签,效果很好。
但另外我想问一下是否可以像这样重组代码:
第一行:第一个 tr 的第一个 td 和第二个 tr 的第一个 td
第二行:第一个 tr 的第二个 td 和第二个 tr 的第二个 td
等等……
【问题讨论】:
-
$html = preg_replace('/
/si', ' ', $html);我正在尝试将 table->tbody->tr->td 结构转换为引导行->col 结构请点击Edit按钮编辑问题,并添加所有相关详细信息。我们鼓励您在这里使用 XSLT