Войти

Показать полную графическую версию : про таблицу


slaine
10-07-2005, 10:29
У меня такая проблема.

есть таблица длиной 400пх, если в неё(через textarea) вписываю
безраздельно "АААА" - 200 раз, то она растягивается и теряется
весь вид, я так не хочу. Что мне можно сделать?

Siasia
10-07-2005, 10:55
Всё достаточно просто! нужно установить фиксированную длину строки текствого поля!

vadimiron
10-07-2005, 13:24
slaine
Сори, я не понял
если в неё(через textarea) вписываю
то есть есть какой то скрипт, который текст из textarea вписывает в ячейку таблицы, или сама textarea находится в ячейке таблицы???
Во втором случае вроде ничего не должно "раздуваться", если заданы чётко параметры rows и cols
Для первого случая можно так сделать (В ИЕ точно работает):

<table>
<tr>
<td STYLE="word-wrap:break-word;width:15;">ddddddddddddddddddddddddddddddddddddddddddddddddddd</td>
</tr>
</table>

Здесь главное, чтобы оба параметра были вместе заданы: word-wrap и width

slaine
11-07-2005, 08:22
Вот тут я написал, чтоб было понятнее.
Хотелось бы чтоб строчка обрубалась и нераздувала таблицу.
Как можно это сделать?
<?
if (isset($_POST['name'])){
$name = $_POST['name'];

$f1 = fopen("aaa.txt", "w");
fwrite($f1, $name);
fclose($f1);

$f2 = fopen("aaa.txt", "r");
$a = fread($f2, 1024);
fclose($f2);

echo "<table border=1 width=200 height=100>";
echo "<tr valign=top>";
echo "<td STYLE='word-wrap: break-word; width: 200'>";
echo "<P align=justify>".$a."</P></td>";
echo "</tr>";
echo "</table>";
}
?>
<form action=pet.php method=post>
<textarea cols=35 rows=8 name=name></textarea><BR>
<input type="submit">
</form>

slaine
11-07-2005, 08:44
Я я вижу только один вариант, слова которые например длинее 50 символов обрубать пробелом,
как мне это сделать???

slaine
11-07-2005, 09:11
Вот нашёл в интернете -

$name = wordwrap($name, 40," ",1);

Только непойму, что значит четвёртый параметр,

mar
11-07-2005, 09:44
slaine
Вот нашёл в интернете -
олько непойму, что значит четвёртый параметр,
А искать сразу в официальной документации по php - не судьба? :o
Так вот, по адресу http://ru3.php.net/manual/ru/function.wordwrap.php можете прочитать:
string wordwrap ( string str [, int width [, string break [, boolean cut]]] )

Возвращает строку str с переносом в столбце с номером, заданном аргументом width. Строка разбивется с помощью аргумента break.

Аргументы width и break необязательны и по умолчанию равны 75 и '\n' соответственно.

Если аргумент cut установлен в 1, разрыв делается точно в заданной колонке. Поэтому если исходная строка содержит слово длиннее, чем заданная длина, то в этом случае слово будет разорвано.

На нашем форуме обсуждались детали и фокусы с обрубанием длинных строк и форматированием текста. Посмотрите темы:
"Форматирование текста" (http://www.forum.oszone.net/showthread.php?t=30951&highlight=wordwrap)
"Пользовательский ввод - не позволить рвать страничку." (http://forum.oszone.net/topic.cgi?forum=20&topic=1117)

slaine
11-07-2005, 13:05
mar
книгой которой я пользовался в wordwrap было всего 3 параметра.
Вот я и недумал искать в официальной документации по php.

mar
11-07-2005, 20:13
slaine
извини :) Если так, то все понятно (книга просто в этом вопросе чуть устарела): дело в том, что четвертый необязательный аргумент cut был добавлен в PHP 4.0.3. Так что документацией с http://php.net тем более стоит пользоваться - она там всегда охватывает все нововведения.




© OSzone.net 2001-2012