Ну, единственное, что я могу рассказать вам, это getters:
var foo = {
a: 5,
b: 6,
get c () {
return this.a + this.b;
}
};
foo.c; // 11
Это синтаксическое расширение, введенное спецификацией ECMAScript 5th Edition, синтаксис поддерживается большинством современных браузеров (в том числе IE9).
Вы можете использовать это регулярное выражение в preg_match
или preg_match_all
функциях:
^[\d½]+\S*\h+(?:\([^)]*\)|tsp|.*? of\b)?\h*([a-z]+(?:\h+[a-z]+)*)
Подробности RegEx:
^
: запуск [\d½]+
: сопоставление цифр 1+ или ½
\S*
: сопоставление 0 или более непробельных символов \h+
: сопоставить 1+ горизонтальных пробелов (?:\([^)]*\)|tsp|.*? of\b)?\h*
: сопоставить дополнительный бит символов ([a-z]+(?:\h+[a-z]+)*)
: сопоставить имя ингредиента