我的功能是改变$word_one
(je/que je in j'/que j'),如果$word_two
以元音开头
function FrenchCompoundTenses($word_one, $word_two) {
if(preg_match('~(.*)'bje$~ui', $word_one, $m) && preg_match('~^[aeéiou]~ui>', $word_two))
return "<td class='"text-right text-muted'">{$m[1]}j'</td>" . $word_two;
else
return "<td class='"text-right text-muted'">". $word_one ."</td>" . $word_two;
}
对于类似的函数,我必须更改这部分:
&& preg_match('~^[aeéiou]~ui>', $word_two)
它应该工作,如果$word_two
以HTML代码<u>
或</td><td>
开始,然后元音紧随其后。([aeéiou]
)
编辑:$word_one
来自一个带代词的数组,$word_two
来自一个二维数组。$word_two
在这种情况下是两个单词。
的例子:
$word_one= 'je' + $word_two='aime' = j'aime
$word_one= 'tu' + $word_two='aimes' = tu aimes
使用此函数的期望输出:
$word_one= 'je' + $word_two='<u>aime' = j'aime (with html code between)
$word_one= 'je' + $word_two='</td><td>aime' = j'aime (with html code between)
&& preg_match('~^h?(?:[aæàâeéèêëiîïoôœuûù]|y(?![aæàâeéèêëiîïoôœuûù]))~ui', strip_tags($word_two))
应该解决这个问题。
(我在开头添加了一个可选的h
,因为h
在法语中是无声的h
。我添加了太多重音元音)和y
,当后面没有另一个元音时。