如何删除内容中的前三个单词并显示摘录

时间:2015-10-08 作者:A Kashyap

嗨,我正在制作一个视频游戏网站。我可以显示摘录,在遵循一些建议后也可以将其缩短。我不能做的是从内容中删除前三个单词,然后将其显示为摘录。如果内容是。。。

剥离html标记后的“内容开始这是摘录”

因此,\\u execrpt()应该只显示“这是摘录”

The site

我只想从每个类别显示中删除描述和说明,其中我有一个自定义模板。。

3 个回复
SO网友:MonkeyZeus

这并不是最有效的方法,但应该可以做到:

function the_excerpt1($s=\'\')
{
    if($s !== \'\')
    {
        $a = explode(\' \', $s);
        array_shift($a);
        array_shift($a);
        array_shift($a);
        $s = implode(\' \', $a);
        unset($a);
    }

    return $s;
}

echo the_excerpt1(\'the content starts this is the excerpt\');
<小时>

Update - A more efficient way

function the_excerpt2($s=\'\')
{
    if($s !== \'\')
    {
        $s = substr($s, (strpos($s, \' \')+1));
        $s = substr($s, (strpos($s, \' \')+1));
        $s = substr($s, (strpos($s, \' \')+1));
    }

    return $s;
}

echo the_excerpt2(\'the content starts this is the excerpt\');
<小时>the_excerpt2() 执行速度将比the_excerpt1()

SO网友:Aric Watson

这里有一个快速的方法,假设$excerpt 是否有要删除前3个单词的摘录

$excerpt = "the content starts this is the excerpt";
$words = explode(\' \', $excerpt);
array_shift($words); // 1st word
array_shift($words); // 2nd word
array_shift($words); // 3rd word
$excerpt = implode(\' \', $words);
它根据空格“”将摘录拆分为一个单词数组,将前3个单词移出数组,并将其重新组合为字符串。

SO网友:Sudin

以下是您正在寻找的内容。将其放在函数中。php文件进行适当的更改。

function custom_excerpt() {
    $text = get_the_excerpt(); //Assigns the excerpt to $text
    $text = str_replace("Word1_to_replace","", $text); // replacing the word with empty string
    $text = str_replace("Word2_to_replace","", $text);
    $text = str_replace("Word3_to_replace","", $text);
    return $text;
}
add_filter(\'the_excerpt\', \'custom_excerpt\');

相关推荐

Excerpts on category page

有没有一种简单的方法可以让特定的分类页面显示x字数的摘录,然后通过阅读更多链接链接到完整的文章?我已经尝试了高级摘录插件,它可以满足我的需要,但我希望能够将其限制在某些类别