-
Notifications
You must be signed in to change notification settings - Fork 1
/
EMT_Tret_Date.php
58 lines (52 loc) · 3.34 KB
/
EMT_Tret_Date.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
namespace corpsepk\yii2emt;
/**
* @see EMT_Tret
*/
class EMT_Tret_Date extends \corpsepk\yii2emt\EMT_Tret
{
public $title = "Даты и дни";
public $classes = array(
'nowrap' => 'word-spacing:nowrap;',
);
public $rules = array(
'years' => array(
'description' => 'Установка тире и пробельных символов в периодах дат',
'pattern' => '/(с|по|период|середины|начала|начало|конца|конец|половины|в|между|\([cс]\)|\©\;)(\s+|\ \;)([\d]{4})(-|\&mdash\;|\&minus\;)([\d]{4})(( |\ \;)?(г\.г\.|гг\.|гг|г\.|г)([^а-яёa-z]))?/eui',
'replacement' => '$m[1].$m[2]. (intval($m[3])>=intval($m[5])? $m[3].$m[4].$m[5] : $m[3]."—".$m[5]) . (isset($m[6])? " гг.":"").(isset($m[9])?$m[9]:"")'
),
'mdash_month_interval' => array(
'description' => 'Расстановка тире и объединение в неразрывные периоды месяцев',
'disabled' => true,
'pattern' => '/((январ|феврал|сентябр|октябр|ноябр|декабр)([ьяюе]|[её]м)|(апрел|июн|июл)([ьяюе]|ем)|(март|август)([ауе]|ом)?|ма[йяюе]|маем)\-((январ|феврал|сентябр|октябр|ноябр|декабр)([ьяюе]|[её]м)|(апрел|июн|июл)([ьяюе]|ем)|(март|август)([ауе]|ом)?|ма[йяюе]|маем)/iu',
'replacement' => '\1—\8'
),
'nbsp_and_dash_month_interval' => array(
'description' => 'Расстановка тире и объединение в неразрывные периоды дней',
'disabled' => true,
'pattern' => '/([^\>]|^)(\d+)(\-|\&minus\;|\&mdash\;)(\d+)( |\ \;)(января|февраля|марта|апреля|мая|июня|июля|августа|сентября|октября|ноября|декабря)([^\<]|$)/ieu',
'replacement' => '$m[1].$this->tag($m[2]."—".$m[4]." ".$m[6],"span", array("class"=>"nowrap")).$m[7]'
),
'nobr_year_in_date' => array(
'description' => 'Привязка года к дате',
'pattern' => array(
'/(\s|\ \;)([0-9]{2}\.[0-9]{2}\.([0-9]{2})?[0-9]{2})(\s|\ \;)?г(\.|\s|\ \;)/eiu',
'/(\s|\ \;)([0-9]{2}\.[0-9]{2}\.([0-9]{2})?[0-9]{2})(\s|\ \;|\.(\s|\ \;|$)|$)/eiu',
),
'replacement' => array(
'$m[1].$this->tag($m[2]." г.","span", array("class"=>"nowrap")).($m[5]==="."?"":" ")',
'$m[1].$this->tag($m[2],"span", array("class"=>"nowrap")).$m[4]',
),
),
'space_posle_goda' => array(
'description' => 'Пробел после года',
'pattern' => '/(^|\040|\ \;)([0-9]{3,4})(год([ауе]|ом)?)([^a-zа-яё]|$)/ui',
'replacement' => '\1\2 \3\5'
),
'nbsp_posle_goda_abbr' => array(
'description' => 'Пробел после года',
'pattern' => '/(^|\040|\ \;|\"|\«\;)([0-9]{3,4})[ ]?(г\.)([^a-zа-яё]|$)/ui',
'replacement' => '\1\2 \3\4'
),
);
}