iconv_substr

Cut out part of a string

&reftitle.description; ``string``false```iconv_substr` `string` `string` `int` `offset` ``int``null```length`&null; ``string``null```encoding`&null;

Cuts a portion of `string` specified by the `offset` and `length` parameters.

&reftitle.parameters;

`string`

- The original string.

`offset`

- If `offset` is non-negative, `iconv_substr` cuts the portion out of `string` beginning at `offset`'th character, counting from zero.

  If `offset` is negative, `iconv_substr` cuts out the portion beginning at the position, `offset` characters away from the end of `string`.

`length`

- If `length` is given and is positive, the return value will contain at most `length` characters of the portion that begins at `offset` (depending on the length of `string`).

  If negative `length` is passed, `iconv_substr` cuts the portion out of `string` from the `offset`'th character up to the character that is `length` characters away from the end of the string. In case `offset` is also negative, the start position is calculated beforehand according to the rule explained above.

`encoding`

- If `encoding` parameter is omitted or &null;, `string` are assumed to be encoded in iconv.internal_encoding.

  Note that `offset` and `length` parameters are always deemed to represent offsets that are calculated on the basis of the character set determined by `encoding`, whilst the counterpart `substr` always takes these for byte offsets.

&reftitle.returnvalues;

Returns the portion of `string` specified by the `offset` and `length` parameters.

If `string` is shorter than `offset` characters long, &false; will be returned. If `string` is exactly `offset` characters long, an empty string will be returned.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `length` and `encoding` are nullable now.
7.0.11 | If `string` is equal to `offset` characters long, an empty string will be returned. Prior to this version, &false; was returned in this case.

&reftitle.seealso;

- `substr`
- `mb_substr`
- `mb_strcut`