在处理博客帖子预览列表时,我被置于此问题的前面。 他们需要缩短内容,但不要打开任何html标签。
我听说reg ex不是一个好选择。我正在寻找简单而有效的东西。
我一如既往地感谢你的帮助(最终成为一个非常好的地方来解决这样的问题: - )
答案 0 :(得分:1)
Wordpress具有生成内置于博客平台的摘录的功能,该博客平台从实际博客帖子中生成excerpt。
你没有指定你想要用于修剪功能的语言,所以这里是Wordpress版本。如果需要,它可以很容易地修改和重新使用,以便在Wordpress之外使用。
wp_trim_words() function reference
/**
* Generates an excerpt from the content, if needed.
*
* The excerpt word amount will be 55 words and if the amount is greater than
* that, then the string ' […]' will be appended to the excerpt. If the string
* is less than 55 words, then the content will be returned as is.
*
* The 55 word limit can be modified by plugins/themes using the excerpt_length filter
* The ' […]' string can be modified by plugins/themes using the excerpt_more filter
*
* @since 1.5.0
*
* @param string $text Optional. The excerpt. If set to empty, an excerpt is generated.
* @return string The excerpt.
*/
function wp_trim_excerpt($text = '') {
$raw_excerpt = $text;
if ( '' == $text ) {
$text = get_the_content('');
$text = strip_shortcodes( $text );
$text = apply_filters('the_content', $text);
$text = str_replace(']]>', ']]>', $text);
$excerpt_length = apply_filters('excerpt_length', 55);
$excerpt_more = apply_filters('excerpt_more', ' ' . '[…]');
$text = wp_trim_words( $text, $excerpt_length, $excerpt_more );
}
return apply_filters('wp_trim_excerpt', $text, $raw_excerpt);
}