2016-01-13 3 views
0

Я отправляю HTML-строку на сервер Cold Fusion (9). Строка содержит таблицу HTML с несколькими строками. Поскольку таблица не имеет головки, мне нужно изменить <td> s первой строки на <th> s.Сменить <td> на <th> в первой строке сервера HTML-таблицы с использованием Cold Fusion

Для информации: Код для вставки - это код вставки, который поступает из MS Word. Код отправляется на сервер, чтобы проверить, есть ли в нем какие-либо таблицы. Если да, появится диалоговое окно параметров, отображаемое пользователю, где он может определить, как будет отформатирована таблица (полосатая, зависающая и т. Д.).

На мой взгляд, лучшим способом сделать это будет ReReplace(). Но я не могу понять, что может быть правильным регулярным выражением. Любые предложения по этому поводу будут высоко оценены.

код выглядит следующим образом:

<table class="table"> 
<tbody> 
<tr><td>Head 1</td><td>Head 2</td><td>Head 3</td></tr> 
<tr><td>Content 1 Row 1</td><td>Content 2 Row 1</td><td>Content 3 Row 1</td></tr> 
<tr><td>Content 1 Row 2</td><td>Content 2 Row 2</td><td>Content 3 Row 2</td></tr> 
</tbody> 
</table> 

И должен выглядеть следующим образом:

<table class="table"> 
<tbody> 
<tr><th>Head 1</th><th>Head 2</th><th>Head 3</th></tr> 
<tr><td>Content 1 Row 1</td><td>Content 2 Row 1</td><td>Content 3 Row 1</td></tr> 
<tr><td>Content 1 Row 2</td><td>Content 2 Row 2</td><td>Content 3 Row 2</td></tr> 
</tbody> 
</table> 

Спасибо заранее.

+0

Не могли бы вы предоставить код - текущий код и как должен выглядеть код? – mnille

+0

Изменяет код генерации таблицы, а не параметр? – npinti

+0

Извините, что не предоставил код. Вот. И я добавил некоторые объяснения, почему мне это нужно. –

ответ

0

Обязательное предупреждение: Возможно, синтаксический анализатор или как @npinti предложил изменить выход в первую очередь - это гораздо лучший способ пойти.
Это означает, что вы можете использовать ленивый квантор (дорогой!) Между тегами <td> и подавать функциональные фрагменты <table> частей и подставлять их <th>\2</th> (см. Пример regex 101 demo).

(<td>(.*?)<\/td>) 

Подсказка: Это не принимает дополнительные атрибуты во внимание (например, class="test123").

+0

Спасибо. Я решил разобрать таблицы с помощью Rematch() и изменить первую строку. –