Как мне сопоставить синтаксис стиля bb с регулярными выражениями? - PullRequest
1 голос
/ 28 августа 2011

Это мое регулярное выражение:

/^\[y\](.*?)\[\/y\]/

Это моя тема:

YouTube здесь [y] 2GJSVlIGmQI [/ y]

, но preg_match() не соответствует ничему из моей темы.

А также есть ли лучшее решение для захвата кода внутри [y] [/y]?

Спасибо!

Ответы [ 3 ]

1 голос
/ 28 августа 2011

Вам нужно удалить ^ в начале, например:

/\[y\](.*?)\[\/y\]/

То, что делает ^, соответствует этому выражению , только если оно находится в начале строки.Удаление означает, что выражение будет соответствовать шаблону в любом месте строки.

1 голос
/ 28 августа 2011

Вы должны удалить ^ char из своего регулярного выражения. ^ char соответствует началу строки.

$str = 'youtube is here [y]2GJSVlIGmQI[/y]';

preg_match('/\[y\](.*?)\[\/y\]/', $str, $arr);

// 2GJSVlIGmQI
echo $arr[1];
0 голосов
/ 28 августа 2011

Используйте это: /\[y\](.*?)\[\/y\]/

...