все.Не могли бы вы дать мне несколько советов о том, как я могу объединить следующие 3 регулярных выражения в 1?
preg_match_all('/>\s*([\w-]+)\s*</', $str, $matches_1);
preg_match_all('/<\?=\s*([\w-]+)\s*\?>/', $str, $matches_2);
preg_match_all('/echo\s*["|']+\s*([\w-]+)["|']+/', $str, $matches_3);
ОБНОВЛЕНИЕ
preg_match_all(
'/
>\s*([\w-]+)\s*<
|
<\?=\s*([\w-]+)\s*\?>
|
echo\s*("|')+\s*([\w-]+)("|')+
/x',
$str, $matches_123);
Для меня синтаксис вышеработает только если написано в одну строку и удален x-модификатор.По какой-то причине этого не происходит:
Предупреждение: preg_match_all () [function.preg-match-all]: ошибка компиляции: отсутствует) со смещением 125 в ...
I 'мы решили это, просто разделив регулярное выражение на 3 строки и объединив их, но это беспорядок.