获取 php 中的前 2 个句子
Get first 2 sentences in php
我们有这段代码可以抓取段落的前两个句子,除了它只计算句点外,它工作完美。它需要获取前两个句子,即使它们有感叹号或问号。这是我们目前使用的:
function createCustomDescription($string) {
$strArray = explode('.',$string);
$custom_desc = $strArray[0].'.';
$custom_desc .= $strArray[1].'.';
return htmlspecialchars($custom_desc);
}
关于如何同时检查问号 and/or 感叹号的任何想法?
尝试使用此代码:
function createCustomDescription($string) {
$strArray = preg_split( '/(\.|!|\?)/', $string);
$custom_desc = $strArray[0].'.';
$custom_desc .= $strArray[1].'.';
return htmlspecialchars($custom_desc);
}
首先替换所有 ?和 !带句号 (.) 。然后使用您常用的代码
使用
str_replace("?",".",$paragraph);
str_replace("!",".",$paragraph);
然后用你的代码用 (.)展开
function createCustomDescription($string)
{
$strArray = preg_split('/(\.|\!|\?)/', $string, 3, PREG_SPLIT_DELIM_CAPTURE);
$strArray = array_slice($strArray, 0, 4);
return htmlspecialchars(implode('', $strArray));
}
您可以将 preg_split 与正则表达式一起用于您想要的 PREG_SPLIT_DELIM_CAPTURE 选项的结尾,这将保持使用的标点符号。
function createCustomDescription($string) {
$split = preg_split('/(\.|\!|\?)/', $string, 3, PREG_SPLIT_DELIM_CAPTURE);
$custom_desc = implode('', array_slice($split, 0, 4));
return htmlspecialchars($custom_desc);
}
我们有这段代码可以抓取段落的前两个句子,除了它只计算句点外,它工作完美。它需要获取前两个句子,即使它们有感叹号或问号。这是我们目前使用的:
function createCustomDescription($string) {
$strArray = explode('.',$string);
$custom_desc = $strArray[0].'.';
$custom_desc .= $strArray[1].'.';
return htmlspecialchars($custom_desc);
}
关于如何同时检查问号 and/or 感叹号的任何想法?
尝试使用此代码:
function createCustomDescription($string) {
$strArray = preg_split( '/(\.|!|\?)/', $string);
$custom_desc = $strArray[0].'.';
$custom_desc .= $strArray[1].'.';
return htmlspecialchars($custom_desc);
}
首先替换所有 ?和 !带句号 (.) 。然后使用您常用的代码 使用
str_replace("?",".",$paragraph);
str_replace("!",".",$paragraph);
然后用你的代码用 (.)展开
function createCustomDescription($string)
{
$strArray = preg_split('/(\.|\!|\?)/', $string, 3, PREG_SPLIT_DELIM_CAPTURE);
$strArray = array_slice($strArray, 0, 4);
return htmlspecialchars(implode('', $strArray));
}
您可以将 preg_split 与正则表达式一起用于您想要的 PREG_SPLIT_DELIM_CAPTURE 选项的结尾,这将保持使用的标点符号。
function createCustomDescription($string) {
$split = preg_split('/(\.|\!|\?)/', $string, 3, PREG_SPLIT_DELIM_CAPTURE);
$custom_desc = implode('', array_slice($split, 0, 4));
return htmlspecialchars($custom_desc);
}