1C-Bitrix
25.700.0
Загрузка...
Поиск...
Не найдено
UrlRewriterRuleMaker.php
См. документацию.
1
<?php
2
3
namespace
Bitrix\Main;
4
12
class
UrlRewriterRuleMaker
13
{
14
protected
$condition
=
""
;
15
protected
$variables
= [];
16
protected
$rule
=
""
;
17
23
public
function
process
($sefRule)
24
{
25
$this->rule =
""
;
26
$this->variables = [];
27
$this->condition =
"#^"
. preg_replace_callback(
"/(#[a-zA-Z0-9_]+#)/"
, [$this,
"_callback"
], $sefRule) .
"\\??(.*)#"
;
28
$i
= 0;
29
foreach
($this->variables as $variableName)
30
{
31
$i
++;
32
if
($this->rule)
33
{
34
$this->rule .=
"&"
;
35
}
36
$this->rule .= $variableName .
"=\$"
.
$i
;
37
}
38
$i
++;
39
$this->rule .=
"&\$"
.
$i
;
40
}
41
47
public
function
getCondition
()
48
{
49
return
$this->condition
;
50
}
51
57
public
function
getRule
()
58
{
59
return
$this->rule
;
60
}
61
69
protected
function
_callback
(
array
$match)
70
{
71
$this->variables[] = trim($match[0],
"#"
);
72
if
(str_ends_with($match[0],
"_PATH#"
))
73
{
74
return
"(.+?)"
;
75
}
76
return
"([^/]+?)"
;
77
}
78
}
Bitrix\Main\UrlRewriterRuleMaker
Определения
UrlRewriterRuleMaker.php:13
Bitrix\Main\UrlRewriterRuleMaker\$condition
$condition
Определения
UrlRewriterRuleMaker.php:14
Bitrix\Main\UrlRewriterRuleMaker\$variables
$variables
Определения
UrlRewriterRuleMaker.php:15
Bitrix\Main\UrlRewriterRuleMaker\getCondition
getCondition()
Определения
UrlRewriterRuleMaker.php:47
Bitrix\Main\UrlRewriterRuleMaker\_callback
_callback(array $match)
Определения
UrlRewriterRuleMaker.php:69
Bitrix\Main\UrlRewriterRuleMaker\$rule
$rule
Определения
UrlRewriterRuleMaker.php:16
Bitrix\Main\UrlRewriterRuleMaker\process
process($sefRule)
Определения
UrlRewriterRuleMaker.php:23
Bitrix\Main\UrlRewriterRuleMaker\getRule
getRule()
Определения
UrlRewriterRuleMaker.php:57
array
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения
file_new.php:804
$i
$i
Определения
factura.php:643
bitrix
modules
main
lib
UrlRewriterRuleMaker.php
Создано системой
1.14.0