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 aliqua。” 使用类似“labore”的子字符串,获取“labore”以及上一个和下一个20个字符: 1-“…劳动和医疗保险的实施…” 编辑: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
我正在为一个网站开发搜索框,所以给定一个单词,我想返回包含该单词的所有段落,但段落很长,所以我只想返回其中的一部分。我设法得到了类似的结果。这有点冗长
$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我希望我的编辑能对您有所帮助