我在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>
非常感谢。
最佳答案
这就是您需要的:)
$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()
代码中的函数
关于php - preg_replace表中的td,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23969764/