1

您好我试图打印数组的内容。

这是代码:

while ($row = mysql_fetch_assoc($result)) {
    $pattern = '[<td[^>]*>(.*?)</td>]';
    $content = preg_split( $pattern, $row['introtext'], NULL );
    echo '<tr>';
    echo '<td align="center" valign="top" class="table-cursos-links">';
    echo  $n++; 
    echo '</td>';
    echo '<td align="center" valign="top" class="table-cursos-links">';
    echo  '<a target="_parent" href="http://cttcorp.hexasystems.com/index.php?option=com_content&view=article&id='.$row['id'].':'.$row[alias].'&catid='.$row['catid'].'">'.$row['title'].' </a>'; 
    echo '</td>';
    echo '<td align="center" valign="top" class="table-cursos-links">'. $content[2] .'</td>';
    echo '</tr>'; 

它不打印任何东西。任何想法?

4

1 回答 1

0

知道问题是正则表达式,基本上我只想要 <td> 和 </td> 内的文本

那么你有正确的正则表达式,但使用错误。使用preg_split正则表达式匹配的所有内容时都将被删除。如果您$row['introtext']包含类似的内容_<td>data</td>_,您将收到一个包含两个空字符串或空格或其他剩余部分的数组。

改为使用preg_match

preg_split( $pattern, $row['introtext'], $match );

print $match[1];
于 2011-12-08T23:55:53.077 回答