使用php为单词添加前缀(a或an)

使用php为单词添加前缀(a或an),php,Php,如何根据英语中的第一个字母使用php向单词添加动态前缀a或an 范例 大象应该是大象 狮子应该是狮子等等 这个问题是关于将php逻辑放入代码中,如果我们有动态单词say$word,我们需要获取文章(根据英语语法)作为单词的前缀。 我有这样的动态句子: 这是$prefix(需要文章)$word/动态单词/ 现在,我需要按照动态单词-$word操作$prefix。请建议对此问题的任何相关答案或临时解决方案,因为按照英语语法规则,将文章放在单词之前是非常困难的。您可以简单地执行以下代码 $word =

如何根据英语中的第一个字母使用php向单词添加动态前缀a或an

范例

  • 大象应该是大象
  • 狮子应该是狮子等等
  • 这个问题是关于将php逻辑放入代码中,如果我们有动态单词say$word,我们需要获取文章(根据英语语法)作为单词的前缀。
    我有这样的动态句子:

    这是$prefix(需要文章)$word/动态单词/


    现在,我需要按照动态单词-$word操作$prefix。请建议对此问题的任何相关答案或临时解决方案,因为按照英语语法规则,将文章放在单词之前是非常困难的。

    您可以简单地执行以下代码

    $word = "elephant"; // put word for which you want prefix
    $vowelArry = array('a','e','i','o','u');  // array of vowel
    $prefix = in_array(strtolower(substr($word ,0,1)),$vowelArry)? "an" : "a"; // logic to add prefix
    $updated_word = $prefix." ".$word // updated word
    

    我希望这会对您有所帮助。

    您只需将每个单词的第一个字母作为如下数组进行检查:

    <?php
    
        $yourWord="example";
        if(in_array(strtolower($yourWord[0]),array('a', 'e', 'i', 'o', 'u')))
        {
            $prefix=" an ";
        }
        else
        {
            $prefix=" a ";
        }
    
        echo $prefix.$yourWord
    
    ?>
    
    
    
    关键在于,在正确的英语中,有些单词的首字母不是元音,实际上听起来像是so,所以应该使用前缀


    示例:荣誉…

    这个答案是建立在Fluffeh的基础上,但使用了一个函数:

    function proper($str) {
        $vowels = array('a','e','i','o','u');
        if(in_array(strtolower($str[0]), $vowels)) $prefix = "an "; else $prefix = "a ";
        $str = $prefix.$str;
        return $str;
    }
    
    echo proper($str);
    

    检查字符串的第一个字符是否为元音,然后添加“an”,否则添加“a”。很简单。没有一个元音不能单独决定一个字母,或者一所大学以元音开头,但听起来像“紫杉”,所以它是一所大学。诚实不以元音开头,但听起来像“Onest”,所以它是诚实的,以此类推..大学怎么样,诚实的?这将是一所“大学”,“一所诚实的大学”@AbhikChakraborty你是对的。有些例外情况下,这不起作用。元音前面的“h”是一个例外,是的。不,不,不,这不是例外,这是语言!如果我们不能提出这样的逻辑,我们就不能将这些情况视为例外。这是正确的英语语法和推理,不是特例。@Hanky웃我们是用代码的逻辑来讨论的。在某些情况下,这种逻辑有局限性,因此被视为例外。(特别是英文单词有无声字符的地方)和“大学”?功能在哪里工作?