регулярное выражение для получения подстроки через php


Как я могу использовать регулярное выражение в функции PHP substr(), чтобы получить подстроку, соответствующую шаблону?

Отредактировано:

Пример:

$name = 'hello [*kitty*],how good is today';

Я хочу получить то, что находится между [....] заполнитель.

Author: hd., 2011-02-14

2 answers

substr() соответствует только целым строкам. Вы ищете preg_match().

Обновление:

$name = 'hello [*kitty*],how good is today';
preg_match( '/\[(.*?)\]/', $name, $match );
var_dump( $match );

Вы можете найти это имя в $match[1]. Я предлагаю вам прочитать о регулярных выражениях, чтобы понять preg_match().

 35
Author: Tim, 2011-02-14 11:42:23

Попробуйте это:

$matches = array();
preg_match("/\[([^]]*)\]/", 'hello [*kitty*],how good is today', $matches);
print_r($matches);

Упс, теперь исправлено:)

 4
Author: Mārtiņš Briedis, 2011-02-14 11:46:15