我想从PHP变量( <a>
)替换$html_content
标记内容...
变量$html_content
值如下所示:
$html_content= "<table>
<thead>
<tr><th>Customer</th><th>Age</th><th>A</th></tr>
</thead>
<tbody>
<tr><td>Test 1</td><td>25</td><td><a href='www.google.com'>Link</a></td></tr>
<tr><td>Test 2</td><td>30</td><td><a href='www.yahoo.com'>Link</a></td></tr>
<tr><td>Test 3</td><td>31</td><td><a href='www.rediff.com'>Link</a></td></tr>
...
...
...
</tbody>
</table>
我想在包含<td>
标记的每个<tr>
的每个<a>
内容中替换字符串中的内容。
示例行结果:
<tr><td>Test 1</td><td>25</td><td>Action will be taken soon.</td></tr>
<tr><td>Test 2</td><td>30</td><td>Action taken yesterday</td></tr>
...
...
我需要使用不同内容值替换每一行的结果。内容取自表格。我想要替换的特定客户行为。
CUSTOMER TABLE:
------------------------------------------------------
id customer age action
------------------------------------------------------
1 Test 1 25 Action will be taken soon
2 Test 2 30 Action taken yesterday
3 Test 3 31 Action will take tomw
4 Kumar 28 Suspended
...
...
...
------------------------------------------------------
使用此表格我在一个页面中显示了过滤结果而没有操作说明而不是<a>
标记。 (此结果是名为reports.php
)的页面的一部分。
我想将这些记录仅用action
字段描述导出到PDF(我使用HTML到PDF类)。
在该页面中,我已将这些HTML值发送到该页面并存储在$html_content
页面的PHP变量(export_pdf.php
)中...
表格记录 不固定尺寸 ...这是基于生成排序结果。
请有人帮助我...... 提前谢谢......
答案 0 :(得分:1)
请尝试以下代码:
$html_content= preg_replace("/<a[^>]+\>(.*?)<\/a>/i", "Action will be taken soon.", $html_content);
foreach
query
foreach($row = mysql_fetch_assoc($result))
{
$html_content = preg_replace("/<a[^>]+\>(\w+)<\/a>/i", $row['action'], $html_content);
}
<table>
<thead>
<tr><th>Customer</th><th>Age</th><th>A</th></tr>
</thead>
<tbody>
<tr><td>Test 1</td><td>25</td><td>Action will be taken soon.</td></tr>
<tr><td>Test 2</td><td>30</td><td>Action will be taken soon.</td></tr>
<tr><td>Test 3</td><td>31</td><td>Action will be taken soon.</td></tr>
</tbody>
</table>
答案 1 :(得分:1)
你可以通过正则表达式来实现:
$rgReplace = ['foo', 'bar', 'baz'];
$i = 0;
$html_content=preg_replace_callback('/\<td[^\<\>]*\>\<a[^\<\>]*\>[^\<\>]*\<\/a\>\<\/td\>/',
function($rgMatches) use ($rgReplace, &$i)
{
return $rgReplace[$i++];
}, $html_content);
(您的$rgReplace
是一个包含所需替换的数组。)
或者,通过DOMDocument API。