这就是我试图得到的:
My longest text to test
当我搜索例如My
我应该得到My longest
我尝试使用此功能首先获取输入的完整长度,然后搜索''来剪切它。
$length = strripos($text, $input) + strlen($input)+2;
$stringpos = strripos($text, ' ', $length);
$newstring = substr($text, 0, strpos($text, ' ', $length));
但这仅在第一次有效,然后在当前输入后切断,意味着
My lon
isMy longest
和 not My longest text
。
我必须如何改变它以获得正确的结果,总是得到下一个单词。也许我需要休息一下,但我找不到正确的解决方案。
更新
这是我的解决方法,直到我找到更好的解决方案。正如我所说,使用数组函数不起作用,因为部分单词应该起作用。所以我扩展了我之前的想法。基本思想是在第一次和下一次之间有所不同。我稍微改进了代码。
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);
} }
不漂亮,但嘿,它似乎工作^^。无论如何,也许你们中的某个人有更好的解决方案。