|
|
|
| Здравствуйте. Помогите составить регулярку для оформления обычной таблицы.
Вот исходные данные
<table> <tr> <td> <b>RF-101A</b></td> <td> серийный разведывательный вариант на базе F-101A.</td> </tr> <tr> <td> <b>RF-101B</b></td> <td> новое обозначение в ВВС США бывших канадских самолетов CF-101B после их переоборудования в двухместные самолеты-разведчики.</td> </tr> <tr> <td> <b>RF-101C</b></td> <td> разведывательный вариант самолета F-101C, в остальных отношениях аналогичен самолету RF-101A.</td> </tr> <tr> <td> <b>RF-101G</b></td> <td> новое обозначение самолетов F-101А в национальной гвардии США. </td> </tr> <tr> <td> <b>RF-101H</b></td> <td> новое обозначение самолетов F-101С в национальной гвардии США. </td> </tr> </table>
| Преобразовать в
<table style="border-collapse: collapse; width: 100%;" cellpadding="0" class="Zebra-2">
<tbody>
<tr>
<td colspan="2" align="center" class="hd"> <span style="font-size: 12pt; font-weight: 700;">Модификации</span></td>
</tr>
<tr>
<td class="fcalt"> <span style="font-weight: 700;">RF-101A</span></td>
<td class="alt"> серийный разведывательный вариант на базе F-101A.</td>
</tr>
<tr>
<td class="fc"> <span style="font-weight: 700;">RF-101B</span></td>
<td class=""> новое обозначение в ВВС США бывших канадских самолетов CF-101B после их переоборудования в двухместные самолеты-разведчики.</td>
</tr>
<tr>
<td class="fcalt"> <span style="font-weight: 700;">RF-101C</span></td>
<td class="alt"> разведывательный вариант самолета F-101C, в остальных отношениях аналогичен самолету RF-101A.</td>
</tr>
<tr>
<td class="fc"> <span style="font-weight: 700;">RF-101G</span></td>
<td class=""> новое обозначение самолетов F-101А в национальной гвардии США. </td>
</tr>
<tr>
<td class="fcalt"> <span style="font-weight: 700;">RF-101H</span></td>
<td class="alt"> новое обозначение самолетов F-101С в национальной гвардии США.</td>
</tr>
</tbody>
</table><br />
<br />
|
Проблема в том, что количество строк может быть различным, а класс у колонок как видно из примера чередуется через одну. | |
|
|
|
|
|
|
|
для: max90
(30.03.2013 в 21:09)
| | Для этого не требуется регулярок, оформлением занимаются стили, и все что вы тут написали вполне можно описать в CSS. | |
|
|
|
|
|
|
|
для: confirm
(30.03.2013 в 22:12)
| | Не понял Вас. Если прописать в цсс оформление для таблиц, то оно (оформление) будет применено ко всем таблицам, а надо только для определенных. Именно для этого я хочу назначить столбцам определенные классы, уже описанные в цсс. | |
|
|
|
|
|
|
|
для: max90
(30.03.2013 в 23:31)
| | Не цсс, а css, к тому же это самое css имеет селекторы, по которым можно определиться чего вы хотите оформить. Если уж у вас есть доступ именно к одной таблице, и у вас трудности со множеством, то обычным str_replace() достаточно заменить <table> на <table class=name>, не так ли?
А для того чтобы пометить одни столбы так, а другие иначе, вполне хватит общего стиля и указания стиля для первого столбца, и с этим вполне справится псевдоселкторр first-child, не так ли? | |
|
|
|
|
|
|
|
для: confirm
(30.03.2013 в 23:41)
| | Блин, я вообще забыл про first-child :)
Благодарю за помощь
Upd. Вот нашел более гибкое решение http://htmlbook.ru/css/nth-child | |
|
|
|
|
|
|
|
для: max90
(31.03.2013 в 00:03)
| | Беда в том, что это возможно только в новых версиях браузеров. | |
|
|
|