使用php为单词添加前缀(a或an)
如何根据英语中的第一个字母使用php向单词添加动态前缀a或an 范例使用php为单词添加前缀(a或an),php,Php,如何根据英语中的第一个字母使用php向单词添加动态前缀a或an 范例 大象应该是大象 狮子应该是狮子等等 这个问题是关于将php逻辑放入代码中,如果我们有动态单词say$word,我们需要获取文章(根据英语语法)作为单词的前缀。 我有这样的动态句子: 这是$prefix(需要文章)$word/动态单词/ 现在,我需要按照动态单词-$word操作$prefix。请建议对此问题的任何相关答案或临时解决方案,因为按照英语语法规则,将文章放在单词之前是非常困难的。您可以简单地执行以下代码 $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웃我们是用代码的逻辑来讨论的。在某些情况下,这种逻辑有局限性,因此被视为例外。(特别是英文单词有无声字符的地方)和“大学”?功能在哪里工作?