0

下面的代码将 .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 = "&nbsp;";
        }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">&nbsp;&nbsp;'.$value.'&nbsp;&nbsp;</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">&nbsp;&nbsp;'.$value.'&nbsp;&nbsp;</font></td>';
        }
    }

    if ($row == 1) {
        echo '</tr>';
    }else{
        echo '</tr>';
    }
    $row++;
}

echo '</tbody></table>';
echo '</center>';   
fclose($handle);
}
?>
4

1 回答 1

0

检查当前值是否为 URL 并用A HREF标签包装:

<a href='$value'>$value</a>    
于 2013-04-23T13:02:52.230 回答