Member 13624844 Ответов: 2

Как создать модификатор m в PHP PCRE? А что такое мультилиния?


Я очень смущен модификатором m, и чтобы сделать его еще более запутанным, я смущен ключевым словом multi line. Это слово используется для описания модификатора m в большинстве источников

онлайн. Итак, что же означает многострочность при использовании модификатора m? Является ли многострочная множественная переменная содержащей строки или под словом многострочная она имеет в виду

несколько новых строк с командой \n в одной переменной строке? А многолинейность основана на одной строке? Если кто-то может настроить этот пример кода ниже, чтобы дать мне правильную структуру кода для m

модификатор и лучшее понимание слова multi line имеет в виду, я буду очень признателен за это. Таким образом, я могу понять модификатор m и использование слова multi line в регулярных выражениях PHP.

<?php
$string = 'JavaScript is cool and I love JavaScript.';
if(preg_match_all('/JavaScript/m',$string))
{
echo 'bla bla 1.';
}
else
{
echo 'bla bla 2';
}
?>


Что я уже пробовал:

Объяснено онлайн, но редкие примеры кода этого провайдера онлайн.

2 Ответов

Рейтинг:
1

Richard Deeming

По умолчанию PCRE рассматривает строку темы как состоящую из одной "строки" символов (даже если она на самом деле содержит несколько новых строк). Метасимвол "начало строки" ( ^ ) соответствует только началу строки, в то время как метасимвол "конец строки" ( $ ) соответствует только концу строки или перед завершающей новой строкой (если не установлен модификатор D). Это то же самое, что и Perl. Когда этот модификатор установлен, конструкции "начало строки" и "конец строки" совпадают непосредственно после или непосредственно перед любой новой строкой в строке темы, соответственно, а также в самом начале и конце. Это эквивалентно модификатору Perl /m. Если в строке темы нет символов "\n" или нет вхождений ^ или $ в шаблоне, установка этого модификатора не имеет никакого эффекта.

Итак, в вашем примере, поскольку шаблон не содержит ни того, ни другого ^ или $, модификатор не имеет никакого эффекта.


Рейтинг:
0

[no name]

Что означает многострочность в PHP, относится ли она к множеству этих \n как к многострочности? Можете ли вы привести пример PHP, основанный на моем примере, или вы даже знаете, как это сделать?