Php 在字符串中查找句子的开头
我想用标题和简短描述在网站中显示searchquery的结果。简短的描述应该是包含搜索词的页面的一小部分。我想做的是: 第页中的1条标签 2找到seachterm的第一个位置 3从这个位置往回看,找出句子的开头(如果有)。 4从步骤3中找到的位置开始,然后显示ie 200个字符Php 在字符串中查找句子的开头,php,regex,Php,Regex,我想用标题和简短描述在网站中显示searchquery的结果。简短的描述应该是包含搜索词的页面的一小部分。我想做的是: 第页中的1条标签 2找到seachterm的第一个位置 3从这个位置往回看,找出句子的开头(如果有)。 4从步骤3中找到的位置开始,然后显示ie 200个字符 我需要一些关于步骤3的帮助。我想我需要一个正则表达式来找到第一个大写字母或圆点…我会这样做,我会解析页面 跳过所有以“开头的内容,我会这样做,我会解析页面 跳过所有以“开头的内容,即使这最终也会失败。考虑到“我们去了史密
我需要一些关于步骤3的帮助。我想我需要一个正则表达式来找到第一个大写字母或圆点…我会这样做,我会解析页面
$offset = stripos( strrev(substr($string, $searchlocation)), '.');
$startloc = $searchlocation - $offset;
$finalstring = substr($string, $startloc, 200);
那件事可能会推迟1点,但我想它会把工作做完的。似乎应该有一个较短的方法来执行此操作。对于第3步:如果您反转要从中向后搜索的子字符串,则获取第一个“.”的位置,并从搜索字符串的位置获取该值
$offset = stripos( strrev(substr($string, $searchlocation)), '.');
$startloc = $searchlocation - $offset;
$finalstring = substr($string, $startloc, 200);
那件事可能会推迟1点,但我想它会把工作做完的。似乎应该有一个更短的方法来做这件事。我想,与其试着找句子,不如考虑一下我需要的单词中搜索词周围的上下文数量。然后将这个单词数的一小部分往回走(或回到开头),将剩余的单词数向前走,以选择上下文的其余部分。通过这种方式,您只需在空白处分割整个语料库,找到第一个出现的术语(可能使用模糊匹配来查找子术语并解释标点符号),然后应用上述算法。如果第一个未选择的词不是以标点符号结尾,你甚至可以创造性地引入省略号。我想与其尝试查找句子,不如考虑搜索词周围的上下文数量,我需要在单词中使用。然后将这个单词数的一小部分往回走(或回到开头),将剩余的单词数向前走,以选择上下文的其余部分。通过这种方式,您只需在空白处分割整个语料库,找到第一个出现的术语(可能使用模糊匹配来查找子术语并解释标点符号),然后应用上述算法。如果第一个未选择的术语没有以标点符号结尾,你甚至可以创造性地引入省略号。詹姆斯·科伦的答案也适用于这里,这对史密斯博士的办公室来说仍然是失败的。詹姆斯·科伦的答案也适用于这里,这对史密斯博士的办公室来说仍然是失败的。我发布了一个策略上的轻微改变。。。你能看到其中的错误吗?我发布了一个对策略的轻微更改。。。你能看到那个里面有什么错误吗。