これは私が取得しようとしているものです。
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
と notMy 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);
} }
きれいではありませんが、ちょっとうまくいくようです^^。とにかく、あなたの誰かがより良い解決策を持っているかもしれません。