php从字符串的第n个索引中删除n个字符

时间:2014-04-23 13:48:19

标签: php substring

此问题与此处的现有主题有关..

Remove first 4 characters of a string with PHP

但是如果我想从字符串的特定索引中删除特定数量的字符呢?

e.g

(i want to remove 8 characters from the fourth index)
$input = 'asdqwe123jklzxc';
$output = 'asdlzxc';

4 个答案:

答案 0 :(得分:4)

我认为你需要这个:

echo substr_replace($input, '', 3, 8);

此处提供更多信息:

http://www.php.net/manual/de/function.substr-replace.php

答案 1 :(得分:3)

$input = 'asdqwe123jklzxc';
echo str_replace(substr($input, 3, 8), '', $input);

Demo

答案 2 :(得分:0)

您可以尝试:

$output = substr($input, 0, 3) . substr($input, 11);

第一个0,3substr的开头是4个字母,第二个113+8

为了获得更好的体验,您可以使用函数包装它:

function removePart($input, $start, $length) {
  return substr($input, 0, $start - 1) . substr($input, $start - 1 + $length);
}

$output = removePart($input, 4, 8);

答案 3 :(得分:0)

我认为您可以尝试:

function substr_remove(&$input, $start, $length) {
    $subpart = substr($input, $start, $length);
    $input = substr_replace($input, '', $start, $length);
    return $subpart;
}