Добрый день. Прошу небольшой помощи. Есть некий код: Код (Text): add_shortcode( 'code', 'my_func' ); function some_fn() { echo 'Hello world'; } Необходимо получить все строки, начинающиеся с add_shortcode через регулярное выражение.
PHP: preg_match_all('/(add_shortcode.+)'.PHP_EOL.'/', $str, $matches); print_r($matches[1]); --- Добавлено --- Или, если предполагать, что "строка" в вашем понимании - это часть кода ограничивающаяся точкой с запятой: PHP: preg_match_all('/add_shortcode[^;]+;/s', $str, $matches); print_r($matches[0]);
Прошу прощения, что снова обращаюсь. Подскажите, как извлечь my_func из add_shortcode( 'code', 'my_func' ); Причем код может выглядеть так: Код (Text): add_shortcode( 'code', 'my_func', 10 ); Но my_func всегда идет второй.
@Yankovitz, тут можно без регулярки: PHP: $str = "add_shortcode( 'code', 'my_func', 10 );"; $parts = explode("'", $str); echo !empty($parts[3]) ? $parts[3] : 'нет имени функции';