文字列から (定義済みのパターンから) 特殊文字を抽出しようとしていますが、その文字列が逆疑問符で始まる場合、「一致」は最初の 2 文字を返します。例えば。:
$string = '¿hola?';
$string2 = mb_convert_encoding($string, 'UTF-8');
$regex = mb_convert_encoding('/[a-zäáàëéèíìöóòúùñç]/', 'UTF-8');
if(preg_match($regex, $string2, $matches, PREG_OFFSET_CAPTURE))
{
//--> We pick the special characters into "$resultado1":
$resultado1 = mb_substr($string, 0, $matches[0][1],'UTF-8');
return $resultado1;
}
この例では、関数は「¿h」を返しますが、「¿」が予期されていました...問題がわかりません...