PHP代码关闭未关闭的锚标签

时间:2016-10-08 18:07:59

标签: javascript php html

我正在处理截断数据库条目并将其放到网页上的代码,但由于截断,它通常会在链接锚标记的中间切断。通常我可以通过调整拉出的字符数量来处理这个问题,但是因为一次拉出5个条目以便显示我最后来回寻找百分比余额,因为我可以调整字符向上修正一个进入,但导致另一个条目的另一个问题。

我需要想出一种让php函数自动关闭它们的方法,这样它们就不会引起问题,并使页面成为一个巨大的链接。

$SQL = "SELECT * FROM Words WHERE Date_Created = DATE('2016-10-06') AND category = 'Article' ORDER BY ID DESC LIMIT 5";
$result = mysql_query($SQL);
while($row = mysql_fetch_array($result))
{
echo '<div class="storylist2">';
echo "<br/>";
echo '<h2><a href="http://www.AHA.com/words/display_art.php?ID='.$row['ID'].'">' .stripslashes($row['Title']). '</a></h2>';

$s = stripslashes($row['Word']);

    $s = substr($s, 0,800);  //adjust as necessary
    $s = substr($s, 0, strrpos($s, "."));   

    $s .= "...";

echo '<h6>'. $row['Display_Date'].'</h6>';
echo '<h6>'. $row['Author']. '</h6>';
echo closetags("$s");
echo "<br/>";
if($row['url'] != "")
{
        echo "<br/>";
        echo '<span class="articlelink">(<a href="http://www.AHA.com/words/display_art.php?ID='.$row['ID'].'">more</a>)';
        echo "<br/>";
} 
else {
        echo "<br/>";
        echo '(<a href="http://www.AHA.com/words/display_art.php?ID='.$row['ID'].'">more</a>)</span>';
        echo "<br/>";
}
echo "<br/>";
echo "<br/>";

echo "</div><hr style=\"color: #006699; margin: 10px 20px; \"/>";

我已经列出了我目前用于将条目拉到网页上的代码,我听说有办法确保截断不会在标签中间切断但是很诚实我不知道该怎么做。同样在过去的几天里,我发现了一些关闭标签的PHP,这些标签由echo closetags("$s");引用,但不幸的是我无法为锚标签工作。请帮忙谢谢!

1 个答案:

答案 0 :(得分:1)

您可以删除<a>标记,并在截断它之前通过preg_replace运行任何字符串只留下锚文本:

$no_a_tags = preg_replace('/<a.*?>([^>]*)</a>/i', '$1', $with_a_tags);