我需要在php中的字符串中找到第一个元音的位置

时间:2013-05-16 05:30:07

标签: php

我需要在单个字符串中找到第一个元音的位置。例如。

  • garbage会返回1
  • plastic会返回2
  • apple会返回0

我是初学者,所以我很难接受这个。我想我需要一个带有数组或正则表达式的循环。

3 个答案:

答案 0 :(得分:13)

使用strcspn功能。它将在开头返回字符串的长度,不匹配您指定的任何字符。

$pos = strcspn(strtolower($str), "aeiou"); // and sometimes y

答案 1 :(得分:1)

  

<?php $mystring="find first vowel in a string";
$vowel=array();
$vowel['0'] = stripos($mystring,'a');
$vowel['1'] = stripos($mystring,'e');
$vowel['2'] = stripos($mystring,'i');
$vowel['3'] = stripos($mystring,'o');
$vowel['4'] = stripos($mystring,'u');
$min=99999;
for($i=0; $i<5;$i++){
if ($vowel[$i] !== false) {
if($min>$vowel[$i]){
$min=$vowel[$i];
}//end if
}//end if
}end for
if($min==99999){
echo "No vowel found.";
}else{
echo "vowel found at position :".$min;
}
?>

答案 2 :(得分:0)

strpos - 查找字符串中第一次出现子字符串的位置

e.g ==

  $email  = 'name@example.com';
  $domain = strpos($email, '@');
  echo $domain; // prints 4