您好我试图打印数组的内容。
这是代码:
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>';
它不会打印任何内容。有什么想法吗?
答案 0 :(得分:0)
知道问题是正则表达式,基本上我只想要&lt; td&gt;里面的文字。和&lt; / td&gt;
那么你有正确的正则表达式,但使用它错了。使用preg_split
时,正则表达式匹配的所有内容都将删除。如果您的$row['introtext']
包含_<td>data</td>_
之类的内容,那么您将收到一个包含两个空字符串或空格或其他剩余内容的数组。
改为使用preg_match
。
preg_split( $pattern, $row['introtext'], $match );
print $match[1];