寻找特殊字符php

时间:2014-09-06 17:30:35

标签: php string special-characters

我正在尝试在字符串中查找特殊字符。这些是带有西班牙语变音符号的元音。该程序应该计算带有变音符号的字符串中的元音。在西班牙语中,他们是áé,í,ó和ú。我只是喜欢前4个。问题是我的代码没有检测到特殊字符

<?php
$string='maría';

$vocales = preg_match_all('/[aeiouáéíó]/i',$string,$matchesV);
echo "<br>vocales = $vocales";

if ((in_array('á',$matchesV))||(in_array('é',$matchesV)) || (in_array('í',$matchesV)) || (in_array('ó',$matchesV))){
    $v = $vocales - 1;
    echo "<br>v $v";
    echo '<br>1'; }

?>

1 个答案:

答案 0 :(得分:0)

为什么正则表达式?如果我正确地理解了您的问题,那么只需对this function进行一些更改即可完成:

<?php
function substr_count_array($string, $arr)
{
     foreach ($arr as $letter)
          $count[$letter] += substr_count($string, $letter);
     return $count;
}

$str = 'óóómaóríaéé';
print_r(substr_count_array($str, array("á","é","í","ó")));

<强>输出:

Array
(
    [á] => 0
    [é] => 2
    [í] => 1
    [ó] => 4
)