打印字符串值strpos()搜索后

时间:2013-07-02 22:58:29

标签: php

我仍然相对较新的PHP,但我正在尝试编写一个脚本,在找到一两个字后,只会在字符串中打印下35个左右的字符。我熟悉使用strpos()来查找特定值,只是不确定如何在找到我设置的字符串值后打印下35个字符。

因此,如果输入的随机字符串包含单词,则从最初输入的句子中的“某事”,“我的朋友在公园旁边的公园里发现了一些东西。”它只会打印,“在公园旁边的公园里。”

3 个答案:

答案 0 :(得分:2)

这应该做你需要的:

substr($string, strpos($string, $searchedWord) + strlen($searchedWord), 35);

答案 1 :(得分:1)

您正在搜索的单词的位置由您提到的strpos()确定;接下来你需要跳过那个单词并返回接下来的35个字符:

$str = 'My friend had found something in the park next to the bench.';
$needle = 'something';

substr($str, strpos($str, $needle) + strlen($needle), 35);

如果在字符串中找不到$needle(在这种情况下strpos()返回false),则需要添加条件:

if (($pos = strpos($str, $needle)) !== false) {
    return substr($str, $pos + strlen($needle), 35);
} else {
    return ''; // search failed, return what you like
}

这假设在函数内部运行。

另请参阅:substr()

答案 2 :(得分:-1)

您需要的是substr

$start = strpos('something', $string);
echo substr($string, $start, 35);