1

所以,这里的初学者设计师,所以任何提供的帮助都将受到互联网cookie的赞赏和奖励。

我有一个新闻网站的动态内容,它从每日更新的数据库中获取它的故事。我们正在重新设计,而将整个预告片放到首页一直是我最讨厌的事情。我正在压缩它并修改了一个建议给我的 substr。

<?php

        $position=200;

        $post = substr($row_News['teaser'],0,$position);

        echo $post;
        echo "...";
        ?>

它工作得非常完美,期待它把一个词切成两半。由于预告片总是在变化,如果我使用这个 substr,这是可以修复的还是我必须忍受的?

总是谢谢,饼干很快就会发出来。

4

3 回答 3

0

问题几乎与确保 PHP substr 以单词而不是字符完成相同

例子:

$post = $row_News['teaser'];
if (preg_match('/^.{1,260}\b/s', $row_News['teaser'], $match))
{
    $post=$match[0];
}
于 2013-10-22T14:45:31.223 回答
0

这是不使用regex的方法:

<?
$position=200;
$post = substr($row_News['teaser'],0,$position);
$post = substr($post, 0, strrpos($post, ' '));
echo $post."....";
?>

参考:确保 PHP substr 以单词而不是字符结束

于 2013-10-22T14:47:32.317 回答
0

你需要wordwrap()功能

$string_limit = 200;
$delimiter = "...";
if(strlen($row_News['teaser']) > $string_limit){

    // If string is bigger than limit
    $intact = wordwrap($row_News['teaser'], $string_limit);
    $intact_array = explode("\n", $intact);
    $str = $intact_array[0] . $delimiter;
}
else{

    // else string will be as it is
    $str = $row_News['teaser'];
}
于 2013-10-22T14:50:34.137 回答