gpt4 book ai didi

php - 获取字符串中的当前单词+下一个单词

转载 作者:行者123 更新时间:2023-12-02 03:28:25 26 4
gpt4 key购买 nike

这就是我试图得到的:我要测试的最长文本 当我搜索例如我的我应该得到我最长的

我尝试使用此函数来首先获取输入的完​​整长度,然后搜索“”来剪切它。

$length = strripos($text, $input) + strlen($input)+2;

$stringpos = strripos($text, ' ', $length);

$newstring = substr($text, 0, strpos($text, ' ', $length));

但这仅在第一次有效,然后在当前输入后剪切,意味着My lon我最长的,而不是我最长的文本

我必须如何改变它才能得到正确的结果,总是得到下一个单词。也许我需要休息一下,但我找不到正确的解决方案。

更新

这是我的解决方法,直到找到更好的解决方案。正如我所说,使用数组函数不起作用,因为部分单词应该起作用。所以我把之前的想法延伸了一下。基本思想是第一次和下一次之间有所不同。我稍微改进了代码。

function  get_title($input, $text) {
$length = strripos($text, $input) + strlen($input);
$stringpos = stripos($text, ' ', $length);
// Find next ' '
$stringpos2 = stripos($text, ' ', $stringpos+1);

if (!$stringpos) {
$newstring = $text;
} else if ($stringpos2) {
$newstring = substr($text, 0, $stringpos2);
} }

不漂亮,但是嘿,它似乎有用^^。无论如何,也许你们中的某个人有更好的解决方案。

最佳答案

您可以尝试使用explode

$string = explode(" ", "My longest text to test");
$key = array_search("My", $string);
echo $string[$key] , " " , $string[$key + 1] ;

您可以使用不区分大小写的 preg_match_all 将 i 提升到一个新的水平

$string = "My longest text to test in my school that is very close to mY village" ;
var_dump(__search("My",$string));

输出

array
0 => string 'My longest' (length=10)
1 => string 'my school' (length=9)
2 => string 'mY village' (length=10)

使用的函数

 function __search($search,$string)
{
$result = array();
preg_match_all('/' . preg_quote($search) . '\s+\w+/i', $string, $result);
return $result[0];
}

关于php - 获取字符串中的当前单词+下一个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12666094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com