Как я могу извлечь часть строки, дающую начало и конечную позицию? - PullRequest
0 голосов
/ 05 октября 2010

Как я могу извлечь часть строки, дающую начало и конечную позицию?

Я знаю, что есть метод под названием substr (), но это не то, что я ищу (третий параметр имеет длинупорция ..)

Ответы [ 3 ]

1 голос
/ 05 октября 2010

Если у вас есть начальная и конечная позиции, длина просто конечная - начальная:

$string = "The quick brown fox jumped over the lazy dog";
$start = 4;
$end = 15;
substr($string, $start, $end - $start); //=> "quick brown"

См. Это в действии на http://www.ideone.com/LRfYT.

0 голосов
/ 05 октября 2010

Th следующий будет делать то, что вы хотите.

function ssubstr($string, $start, $end) {
    if ($end < 0) $length = strlen($string) + $end;
    else $length = $end - $start;
    return substr($string, $start, $length);
}

Этот метод безопасен для отрицательных значений $end.

Обратите внимание, что он не выполняет никакой проверки ошибок

0 голосов
/ 05 октября 2010

Если вы знаете начальные и конечные местоположения, все, что вам нужно сделать, это вычесть, чтобы получить длину нужной части. Тогда продолжайте и используйте substr().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...