下面的代码将.csv表转换为html:每个单元格的内容按原样显示,纯文本。 但是我需要在HTML中显示链接文本,我该怎么办?
例如,我的csv文件有4列如下:
_________________________________________________________________________
| SITENAME | URL | PAGENAME | URL2 |
--------------------------------------------------------------------------
| mysite |http://www.mysite.com| mynicepage | http://www.pg.com|
--------------------------------------------------------------------------
| hersite |http://www.site.com | hernicepage | http://www.ab.com|
--------------------------------------------------------------------------
生成的HTML表格应包含2列:SITENAME和PAGENAME。这两列中的每个元素都应打开右侧出现的相应链接(在新页面中)。怎么办?
提前致谢。
<?php
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
if ($row == 1) {
echo '<tr>';
}else{
echo '<tr>';
}
for ($c=0; $c < $num; $c++) {
if(empty($data[$c])) {
$value = " ";
}else{
$value = $data[$c];
}
if ($row == 1) {
// ------------- head
echo '<td style="border-top: 1px solid rgb(111,180,224); border-left: 1px solid rgb(111,180,224); border-bottom: 1px solid rgb(111,180,224);" align="left" bgcolor="#0066cc" height="36" valign="middle" ><b><font color="#ffffff" size="2"> '.$value.' </font></b></td>';
}else{
// ------------- body
echo '<td style=" border-bottom: 1px solid rgb(111,180,224);" sdval="9" sdnum="1040;" align="left" bgcolor="#ffffff" height="25" valign="middle"><font color="#000000" size="2"> '.$value.' </font></td>';
}
}
if ($row == 1) {
echo '</tr>';
}else{
echo '</tr>';
}
$row++;
}
echo '</tbody></table>';
echo '</center>';
fclose($handle);
}
?>
答案 0 :(得分:0)
检查当前值是否为网址并使用A HREF
标记进行包装:
<a href='$value'>$value</a>