Php 仅当字符串包含确定子字符串时获取该字符串的一部分

Php 仅当字符串包含确定子字符串时获取该字符串的一部分,php,Php,只有当文本包含子字符串时,我才能获取部分文本。 我想做的是,给出下一个示例: 1-“Lorem ipsum door sit amet,adipising elit,sed do eiusmod temporal incident ut labour and dolore magna aliqua。” 2-“Lorem ipsum door sit amet,adipising elit,sed do eiusmod temporal incident ut and dolore magna a

只有当文本包含子字符串时,我才能获取部分文本。 我想做的是,给出下一个示例:

1-“Lorem ipsum door sit amet,adipising elit,sed do eiusmod temporal incident ut labour and dolore magna aliqua。”

2-“Lorem ipsum door sit amet,adipising elit,sed do eiusmod temporal incident ut and dolore magna aliqua。”

使用类似“labore”的子字符串,获取“labore”以及上一个和下一个20个字符:

1-“…劳动和医疗保险的实施…”

编辑:
我正在为一个网站开发搜索框,所以给定一个单词,我想返回包含该单词的所有段落,但段落很长,所以我只想返回其中的一部分。

我设法得到了类似的结果。这有点冗长

$str = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor     incididunt ut labore et dolore magna aliqua.';
$searchStr = 'labore';
$offsetLength = 20;

$pos = strpos($str, $searchStr);

if ($pos !== FALSE) // word found
    echo substr($str, $pos - $offsetLength, $pos + strlen($searchStr) + $offsetLength);
$string = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.";

function searchStr($string, $search){
    if(strpos($string, $search) !== FALSE){
        echo "..." . substr($string, strpos($string, $search)-20, 20) . substr($string, strpos($string, $search), 20+strlen($search)) . "...";
    }
}

$res = searchStr($string, "labore");
返回

...empor incididunt ut labore et dolore magna ali...

对不起,你的问题不清楚。@sanders怎么不清楚?他想匹配一个字符串,然后返回上一个和下一个20个字符。你已经做了什么?任何
substr
strpos
?@sanders我希望我的编辑能对您有所帮助