php通过char(字母)位置在字符串中查找单词

时间:2015-09-11 11:48:11

标签: php string substring words

是否有任何方法可以通过在字符串中包含字母的一个位置来查找字符串中的单词。我的意思是,如果有任何简单的方法可以做到这一点。

我有一个字符串,例如250个字符和70个字。我需要限制我的div中的字符串,所以我需要在char 100之前用完整的单词获取整个字符串。

3 个答案:

答案 0 :(得分:0)

不简单。你开车使用这个功能。

$string = "Hello world I use PHP";
$position = 7;

function getWordFromStringInPosition ($string, $position)
{
    if (strlen($string) == 0) throw new Exception("String is empty.");
    if ($position > strlen($string) || $position < 0) throw new Exception("The position is outside of the text");
    $words = explode(" ", $string);

    $count = 0;

    foreach ($words as $word)
    {
        if ($position > $count && $position < $count + strlen($word) + 1)
        {
            return $word;
        }
        else
        {
            $count += strlen($word) + 1;
        }
    }
}

echo getWordFromStringInPosition ($string, $position); // world

答案 1 :(得分:0)

  

我有一个字符串,例如250个字符和70个字。我需要   限制我的div中的字符串所以我需要得到整个字符串的单词   在char 100之前。

这是我能够拼凑的一些东西:

function getPartialString($string, $max)
{

  $words = explode(' ', $string);

  $i = 0;

  $new_string = array();

  foreach ($words as $k => $word)
  {

    $length = strlen($word);

    if ($max < $length + $i + $k)
    {
      break;
    }

    $new_string[] = $word;

    $i += $length;

  }

  return implode(' ', $new_string);

}

echo getPartialString('this is a test', 6); // this

echo getPartialString('this is a test', 7); // this is

答案 2 :(得分:0)

这是最简单的答案:

substr($text, 0, strrpos(substr($text, 0, 100), " " ));