Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Кухня (https://forum.antichat.xyz/forumdisplay.php?f=211)
-   -   обход регулярок с кириллицей (https://forum.antichat.xyz/showthread.php?t=469231)

Strilo4ka 09.03.2019 19:15

Всегда думал что тут регистр не учитывается ))

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$regex[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]implode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'|'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$patt[/COLOR][COLOR="#007700"]) .[/COLOR][COLOR="#DD0000"]'/i'[/COLOR][COLOR="#007700"];[/COLOR][/COLOR

но, оказывается в кириллице обход

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$regex[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'/'[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]implode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'|'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$patt[/COLOR][COLOR="#007700"]) .[/COLOR][COLOR="#DD0000"]'/iu'[/COLOR][COLOR="#007700"];[/COLOR][/COLOR

с модификатором /u ок, тоесть для кириллицы не достаточно /i модификатора

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]$s[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'Тест'[/COLOR][COLOR="#007700"];
[/
COLOR][COLOR="#0000BB"]$r[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'/тест/i'[/COLOR][COLOR="#007700"];
if (![/COLOR][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$r[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$s[/COLOR][COLOR="#007700"])) {
echo[/COLOR][COLOR="#DD0000"]')'[/COLOR][COLOR="#007700"];
}[/
COLOR][/COLOR

php 7.1 файл утф8 без бом

с доков

Цитата:

Сообщение от None
i (PCRE_CASELESS)
Если этот модификатор используется, символы в шаблоне соответствуют символам как верхнего, так и нижнего регистра.

ну вроде очевидная вещь, но на всяких php.su и так далее даже не упоминается об /u,

Цитата:

Сообщение от None
i - регистронезависимость..

наверно все просто знают об этом, скорее....


Время: 00:42