Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Замена стилей таблиц
 
 автор: Alexneo   (24.06.2007 в 11:35)   письмо автору
 
 

Есть допустим такой html:

Какой то произвольный текст Какой то произвольный текст Какой то произвольный текст
<table border="1" cellpadding="0" cellspacing=1>
<tr>
<td bgcolor=#CCCCCC>sdfsdfs</td>
<td bgcolor=#CCCCCC>sdfsdfs</td>
</tr>
</table>
Опять какой нить текст, хотя может его и не быть
<table border="0" cellpadding=0 cellspacing=1>
<tr>
<td bgcolor=#CCCCCC>sdfsdfs</td>
<td bgcolor=#CCCCCC>sdfsdfs</td>
</tr>
</table>
<table border="1" cellpadding="0" cellspacing=1>
<tr>
<td bgcolor=#CCCCCC>sdfsdfs</td>
<td bgcolor=#CCCCCC>sdfsdfs</td>
</tr>
</table>


Необходимо в таблицах где border=1, в конец тега <table> дописать class=t_sql. Пример:
было:<table border="1" cellpadding="0" cellspacing=1>
стало:<table border="1" cellpadding="0" cellspacing=1 class=t_sql>

и еще чтобы во всех <td> таблиц где border=1 надо добавить class=t_td. Пример:
было:<td bgcolor=#CCCCCC>
стало:<td bgcolor=#CCCCCC class=t_td>

   
 
 автор: BaSh   (24.06.2007 в 14:57)   письмо автору
 
   для: Alexneo   (24.06.2007 в 11:35)
 

попробуйте:


$file=str_replace('<table border="1" cellpadding="0" cellspacing=1>','<table border="1" cellpadding="0" cellspacing=1 class=t_sql>',$file);

и

$file=str_replace('<td bgcolor=#CCCCCC>','<td bgcolor=#CCCCCC class=t_td>',$file);

   
 
 автор: Unknown   (24.06.2007 в 16:38)   письмо автору
 
   для: Alexneo   (24.06.2007 в 11:35)
 

 
<?php 
$text 
=  'Какой то произвольный текст Какой то произвольный текст Какой то произвольный текст 
<table border="1" cellpadding="0" cellspacing=1> 
<tr> 
<td bgcolor=#CCCCCC>sdfsdfs</td> 
<td bgcolor=#CCCCCC>sdfsdfs</td> 
</tr> 
</table> 
Опять какой нить текст, хотя может его и не быть 
<table border="0" cellpadding=0 cellspacing=1> 
<tr> 
<td bgcolor=#CCCCCC>sdfsdfs</td> 
<td bgcolor=#CCCCCC>sdfsdfs</td> 
</tr> 
</table> 
<table border="1" cellpadding="0" cellspacing=1> 
<tr> 
<td bgcolor=#CCCCCC>sdfsdfs</td> 
<td bgcolor=#CCCCCC>sdfsdfs</td> 
</tr> 
</table>'

$str str_replace("<table ""<table class=t_sql "$text); 
echo(
$str); 
?> 

   
 
 автор: Alexneo   (24.06.2007 в 17:26)   письмо автору
 
   для: Alexneo   (24.06.2007 в 11:35)
 

вы не поняли...


<table border="1" cellpadding="0" cellspacing=1> - это не фиксированно...должна быть регулярка что то вроде /<table border="1">.*</table>/ и если есть такое.. то дописываются классы в <table> и в <td> этого <table>

   
 
 автор: Alexneo   (25.06.2007 в 19:27)   письмо автору
 
   для: Alexneo   (24.06.2007 в 17:26)
 

сделал...вот что нужно было:

<?
    $txt
='
    Какой то произвольный текст Какой то произвольный текст Какой то произвольный текст
<table border="1" cellpadding="0" cellspacing=1>
<tr>
<td bgcolor=#CCCCCC>sdfsdfs</td>
<td bgcolor=#CCCCCC>sdfsdfs</td>
</tr>
</table>
Опять какой нить текст, хотя может его и не быть
<table border="0" cellpadding=0 cellspacing=1>
<tr>
<td bgcolor=#CCCCCC>sdfsdfs</td>
<td bgcolor=#CCCCCC>sdfsdfs</td>
</tr>
</table>
<table border="1" cellpadding="0" cellspacing=1>
<tr>
<td bgcolor=#CCCCCC>sdfsdfs</td>
<td bgcolor=#CCCCCC>sdfsdfs</td>
</tr>
dsfdsf
<tr>
<td bgcolor=#CCCCCC>sdfsdfs</td>
<td bgcolor=#CCCCCC>sdfsdfs</td>
</tr>
</table>
    '
;
    
    function 
td_style($regs)
    {
        
$tx=str_replace('<td','<td class=t_TD',$regs[0]);
        return 
$tx;
    }
    
    function 
pars_tags($txt)
    {
        
$txt=str_replace('border="1"','border="1" class=t_TR',$txt);
        
$txt=preg_replace_callback("|<table border=\\\"1\\\" class=t_TR.*>(.*)</table>|iUs",'td_style',$txt);
        echo 
$txt;
    }
    
    
pars_tags($txt);
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования