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

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

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

 

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

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

тема: Как вставит таблицу
 
 автор: TanTaL91   (19.09.2008 в 11:51)   письмо автору
 
 

У меня случилась такая беда.
Написал скрипт простенького сайта с текстовым полем в которое вводился текс а на другой страничке он выводился через echo.

В чем заключаеться беда. Что что бы сохранить все переносы в тексте я заменил все теги /n на <br> все нормально работало класс вобщем. Начал вставлять таблицу а она у меня сверху растягиваеться, убрал заменение /n на <br> таблица стала нормаьной, опять поставил так как текс без этого просто не читаемый.

Из таблици пришлось убрать все переносы и она стала одним сплошным текстом, таблица не маленькая да она и не одна, так что редактировать ее не раельно в таком ввиде а каждый раз ее переберать с ума сойти можно.

В чем требуеться помощ:

Подскажите что мне нужно сделать что бы когда я вставлял таблицу в таком виде

<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>

</td>
</tr>
</table>


php что бы не видело в ней /n и не заменяло их на <br> иначе результат плачевный.

Может как то надо table заменить на что то или еще что расмотрю любые зравые предложения.

Заранее благодарю!

  Ответить  
 
 автор: xx77   (19.09.2008 в 13:48)   письмо автору
 
   для: TanTaL91   (19.09.2008 в 11:51)
 

<?
echo preg_replace('#(\r?\n)(?!\s*</?t(?:[dr]|able|body|foot|head))#''<br/>$1'$text);

  Ответить  
 
 автор: TanTaL91   (19.09.2008 в 14:14)   письмо автору
 
   для: xx77   (19.09.2008 в 13:48)
 

Это не работает. Вообще не какого результата

  Ответить  
 
 автор: TanTaL91   (19.09.2008 в 14:15)   письмо автору
 
   для: TanTaL91   (19.09.2008 в 14:14)
 

Мне нужно что бы выводилло текст с /n а <table> без них.

Что бы например от <table> до </table> он переставал заменять /n на <br>

  Ответить  
 
 автор: TanTaL91   (19.09.2008 в 15:28)   письмо автору
 
   для: TanTaL91   (19.09.2008 в 14:15)
 

Ну помогите же кто ни будь, очень строчное дело.

  Ответить  
 
 автор: xx77   (19.09.2008 в 15:50)   письмо автору
 
   для: TanTaL91   (19.09.2008 в 14:14)
 

<?
// если  совсем-совсем не работает такое:
echo preg_replace('#(\r?\n)(?!\s*</?t(?:[dr]|able|body|foot|head))#i''<br/>$1'$text) . '<hr>
<hr>
<hr>
<hr>
<hr>'
;

// то остаётся только какое-то такое

$regexp 
'#<table(?:(?>(?!</?table).[^<]*)+|(?R))*</table[^>]*(>)|(?:(?!<table).[^<]*)+#si';
function 
noblock($m) {
    return (isset(
$m[1])) ? $m[0] :  nl2br($m[0]);
}
print 
$text preg_replace_callback$regexp'noblock'$text);
?>

  Ответить  
 
 автор: TanTaL91   (19.09.2008 в 16:00)   письмо автору
 
   для: xx77   (19.09.2008 в 15:50)
 

echo preg_replace('#(\r?\n)(?!\s*</?t(?:[dr]|able|body|foot|head))#', '<br/>$1', $text);

Я прогнал это уже ближе к истене. Но у меня в некоторых местах все растянулось через чур. Не могли бы вы мне расписать что тут написанно. Я сам отредактирую как мне нужно.

  Ответить  
 
 автор: TanTaL91   (19.09.2008 в 16:01)   письмо автору
 
   для: TanTaL91   (19.09.2008 в 16:00)
 

Все отлично сам разобрался :) огромное спасибо

  Ответить  
 
 автор: xx77   (19.09.2008 в 16:49)   письмо автору
 
   для: TanTaL91   (19.09.2008 в 16:01)
 

наверное сделали так
'#(\r?\n)(?![^<]*</?t(?:[dr]|able|body|foot|head))#i'

  Ответить  
Rambler's Top100
вверх

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