[英]Looking for Special Characters php
我正在尝试在字符串中查找特殊字符。 这些是西班牙语中带有变音符号的元音。 该程序应该计算是否带有变音符号的字符串中的元音。 在西班牙语中,它们是áé,í,ó和ú。 不过,我只希望前四个。 问题是我的代码没有检测到特殊字符
<?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
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
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.