(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_strpos — Busca la posición de la primera ocurrencia de un string en otro string
$haystack,$needle,$offset = 0,$encoding = null
Localiza la posición de la primera ocurrencia de needle en el string haystack.
Realiza una búsqueda de tipo
strpos(), teniendo en cuenta los caracteres
multioctetos. La posición de needle se cuenta
desde el inicio de la cadena haystack: las
posiciones comienzan en 0.
haystack
El string a partir del cual se obtiene la posición de la primera aparición
de needle.
needle
La string a encontrar en el parámetro
haystack. A diferencia de la
función strpos(), los valores numéricos
no se aplican como valor ordinal de un carácter.
offsetLa posición de inicio de la búsqueda, en caracteres. Si se omite, se utilizará cero. Una posición negativa se cuenta desde el final de la string.
encodingEl parámetro encoding
es la codificación de caracteres. Si se omite o es null, se utilizará el valor
de la codificación de caracteres interna.
Devuelve la posición en caracteres (no en bytes) de la primera ocurrencia
de needle en el string
haystack, contando desde 0.
Devuelve false si no se encuentra needle.
Si offset es mayor que la longitud de
haystack, se lanzará un
ValueError.
| Versión | Descripción |
|---|---|
| 8.0.0 |
needle ahora acepta una cadena vacía.
|
| 8.0.0 |
encoding ahora acepta null.
|
| 7.1.0 |
Se añadió soporte para offsets negativos.
|
Ejemplo #1 mb_strpos() devuelve una posición en caracteres, no en bytes
<?php
// "🐘" ocupa 4 bytes pero es 1 carácter; "é" ocupa 2 bytes pero es 1 carácter
$str = "🐘H🐘é";
var_dump(mb_strpos($str, "é")); // carácter 3, no byte 9
var_dump(mb_strpos($str, "🐘", 1)); // carácter 2, se omite el primer "🐘"
?>El ejemplo anterior mostrará:
int(3) int(2)