tengo preg_match_all('/[aäeëioöuáéíóú]/u', $in, $out, PREG_OFFSET_CAPTURE);
caracteres UTF-8 en preg_match_all (PHP)
Si $in = 'hëllo'
$out
es:
array(1) {
[0]=>
array(2) {
[0]=>
array(2) {
[0]=>
string(2) "ë"
[1]=>
int(1)
}
[1]=>
array(2) {
[0]=>
string(1) "o"
[1]=>
int(5)
}
}
}
La posición de o
debería ser 4. He leído sobre este problema en línea (la ë
se cuenta como 2). ¿Existe alguna solucion para esto? He visto mb_substr
y similares, pero ¿hay algo como esto para preg_match_all
?
Tipo relacionado: ¿Es el equivalente a preg_match_all
en Python? (Devolviendo una matriz de coincidencias con su posición en la cadena)
debe pedir que en una pregunta diferente, pero sí ... un matchobject pitón expresión regular contiene la posición de coincidencia por mo.start predeterminado() y mo.end() –