PHP段落正则表达式

我经常发现有必要从博客文章的开头或类似内容中提取一段文字,以用作摘录。我通常使用一个函数,该函数将计算可用的整个单词的数量,并返回包含这些单词的字符串。

尽管仅当原始帖子为HTML时才适用,但这是一个很好的选择,那就是使用正则表达式提取内容。以下代码将使用字符串,并仅提取文本的第一段。

$intro = '';
preg_match("/<p.*?>(.*?)<\/p>/is", $string, $matches);
if (isset($matches[1])) {
    $intro = trim(strip_tags($matches[1]));
}

如果正则表达式找到与段落标记匹配的任何内容,则它将去除HTML并修剪字符串,以使最终输出没有任何格式或空格。在改性剂用于使匹配不区分大小写和小号用于改性剂使“” 匹配所有字符,包括换行符。如果没有s修饰符,则如果段落文本包含换行符,则结果将不会返回任何内容。

这种摘录提取可用于将帖子存储为HTML的系统,如Wordpress或Drupal。