簡體   English   中英

正則表達式PHP找到2個單詞相同的位置

[英]Regex PHP find 2 words same position

我想用正則表達式在西班牙語或其他成語中搜索月份字符串時找到英語月份。 目前我有一系列可能的匹配項:

$monthsIdioms = array(
                'en' => array('jan', 'feb', 'mar', 'apr', 'may', 'jun', 'jul', 'aug', 'sep', 'oct', 'nov', 'dec'),    
'es' => array(
            '/ene/',
            '/feb/',
            '/mar/',
            '/abr/',
            '/may/',
            '/jun/',
            '/jul/',
            '/ago/',
            '/sep/',
            '/oct/',
            '/nov/',
            '/dic/'
        ));

但是我的日期變量可以具有以下格式:

$date = "24 ene 15:45";

或者這個:

$date = "24 enero 15:45";

所以我需要一個正則表達式在我的約會和其他月份中查找ene或enero:

'es' => array(
                    '/ene|enero/',
                    '/feb|febrero/',
                    '/mar|marzo/',
                    '/abr|abril/',
                    '/may|mayo/',
                    '/jun|junio/',
                    '/jul|julio/',
                    '/ago|agosto/',
                    '/set|septiembre/',
                    '/oct|octubre/',
                    '/nov|noviembre/',
                    '/dic|diciembre/'
                )

我這樣稱呼:

preg_replace($monthsIdioms['es'], $monthsIdioms['en'], $date);

但是正則表達式| 無法正常工作。 我錯了嗎?

請注意,“ es”數組是正則表達式字符串。

因此,為了澄清這一點,我想如果我有這個日期:“ 24 ene 15:45”或這個日期:“ 24 enero 15:45”,將其轉換為:“ 1月24日15:45”,與其他月份相同年度:“ 24前15:45”或“ 24前15:45”至“ 8月24日15:45”。

好吧,由於該月的所有短名稱都在該月的實際名稱中,因此您只需添加一個空格即可:

'en' => array('jan ', 'feb ', 'mar ', 'etc'),
'es' => array('/ene |enero /','/feb |febrero /','/mar |marzo / ','etc')

暫無
暫無

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

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