J'ai preg_match_all('/[aäeëioöuáéíóú]/u', $in, $out, PREG_OFFSET_CAPTURE);
caractères UTF-8 dans preg_match_all (PHP)
Si $in = 'hëllo'
$out
est:
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 position de o
devrait être 4. J'ai lu sur ce problème en ligne (le ë
est compté comme 2). Y a-t-il une solution pour cela? J'ai vu mb_substr
et similaire, mais est-ce qu'il y a quelque chose comme ça pour preg_match_all
?
Sorte de parenté: Est-ce que c'est un équivalent de preg_match_all
en Python? (Renvoyer un tableau de correspondances avec leur position dans la chaîne)
vous devriez demander à une autre question, mais oui ... un python regex MatchObject contient la position du match par défaut mo.start() et mo.end() –