【问题标题】:Looking for Special Characters php寻找特殊字符 php
【发布时间】:2014-09-06 17:30:35
【问题描述】:

我正在尝试在字符串中查找特殊字符。这些是西班牙语中带有变音符号的元音。该程序应该计算带有或不带有变音符号的字符串中的元音。在西班牙语中,它们是 á é、í、ó 和 ú。不过,我只是在寻找前 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'; }

?>

【问题讨论】:

标签: php string special-characters


【解决方案1】:

为什么是正则表达式?如果我正确理解了您的问题,那么只需对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
)

【讨论】:

    猜你喜欢
    • 2010-10-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-10
    • 2013-02-20
    相关资源
    最近更新 更多