簡體   English   中英

更改preg_match條件

[英]Changing preg_match condition

如果$word_two以元音開頭,則我的函數將更改$word_one (在j'/ que j'中為je / que je)。

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] 。( [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在沒有其他元音之后)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM