Регулярное выражение для соответствия допустимым вызовам Shadowbox.init () - PullRequest
2 голосов
/ 16 июля 2010

Я хочу знать, есть ли строка в другой строке хотя бы один раз.

Я хочу проверить, если Shadowbox.init, то любое (необязательное) сочетание пробелов, тогда ( находится внутри $ myString хотя бы один раз.

  • Shadowbox.init должен быть найден (с учетом регистра)
  • За ним может следовать любое количество пробелов (пробелы, табуляции, новые строки ...)
  • После пробелов или init следует открывающая скобка (

Пока у меня есть:

$matches = preg_match('/Shadowbox.init[\s]*(/', $myString);

Некоторые примеры:

/*
Shadowbox.init(); --> OK
Shadowbox.init ( ); --> OK
Shadowbox.init       (foo); --> OK
Shadowbox.init ); --> Bad missing (
Shadowbox.init --> Bad missing (
Shadowbox. init(); --> Bad space after dot
*/

Ответы [ 2 ]

3 голосов
/ 16 июля 2010

Вы были почти там:

$matches = preg_match('/Shadowbox\.init\s*\(/', $myString);

Вам нужно убрать скобки и точку. И вам не нужно ставить скобки вокруг \s.

0 голосов
/ 16 июля 2010

Вам не нужно регулярное выражение: http://php.net/manual/en/function.strpos.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...