Я пытаюсь получить регулярное выражение, которое может найти следующую часть в строке.
[TABLE|head,border|{
#TEXT|TEXT|TEXT#
TEXT|TEXT|TEXT
TEXT|TEXT|TEXT
TEXT|TEXT|TEXT
}]
Это из простого самодельного WYSIWYG-редактора, который дает возможность добавить таблицы. Но «синтаксис» для таблицы должен быть таким же простым, как и приведенный выше.
Нет, так как может быть много этих определений таблиц, мне нужно найти все с помощью php preg_match_all, чтобы заменить их на хорошо известные
в html.
Регулярное выражение, которое пытается использовать iam, выглядит следующим образом:
/\[TABLE\|(.*)\|\{(.*)\}\]/si
\ x0A
остается для перехода на новую строку, так как мое приложение работает в Linux, этого достаточно ( отлично работает с более простым регулярным выражением).
Я использую онлайн-тестер регулярных выражений на functions-online.com .
Совпадения, которые он получает, на самом деле бесполезны. И если у меня есть более одного определения ТАБЛИЦЫ, как указано выше, то совпадения совершенно бесполезны. Из-за (. *) Он охватывает все, начиная с "головы, границы" и заканчивая самой последней "|" символ во втором определении TABLE.
Я хотел бы получить список совпадений, дающий мне полную команду таблицы по одной.
Это потому, что по умолчанию. * Будет жадным совпадением, если ваш код работает правильно для ввода, содержащего только одно значение. Помещение вопросительного знака после двух. * Должно предотвратить проблему жадности.
/\[TABLE\|(.*?)\|\{(.*?)\}\]/si