我在MYSQL中存储了HTML表。
我需要修改一些td的值。
例如:
<tr>...<td class="(different classes)" name="myNameA">20</td>...</tr>
<tr>...<td class="(different classes)" name="myNameB">10</td>...</tr>
我需要:
<tr>...<td class="(different classes)" name="myNameA">(20 * 0,60)</td>...</tr>
<tr>...<td class="(different classes)" name="myNameB">(10 * 0,60)</td>...</tr>
非常感谢。
答案 0 :(得分:0)
这是你需要的:)
$re = '/(<tr>(?:.*?)<td (?:.*?) name="myNameA">)(.*?)(<\/td>(?:.*?)<\/tr>)/';
$str = '<tr>...<td class="(different classes)" name="myNameA">20</td>...</tr>\n<tr>...<td class="(different classes)" name="myNameB">10</td>...</tr>';
preg_replace_callback(
$re,
function ($matches) {
echo htmlspecialchars(strtolower($matches[1]).'('.strtolower($matches[2]).' * 0,60)'.strtolower($matches[3]));
},
$str
);
<强> 输出 强>
<tr>...<td class="(different classes)" name="mynamea">(20 * 0,60)</td>...</tr>
用于匹配myNameB
,将myNameA
更改为myNameB
,并将其显示为html而不是文本从代码中移除htmlspecialchars()
函数