Клуб SERENDIPITY > Всё для новичков
BBCode - с чем их едят
ДД:
Вставка ссылок и картинок в текст (№№ 12, 13, 14, 15)
Форум позволяет вставлять в сообщения изображения и ссылки с помощью следующих тегов:
* Для вставки изображения используется тег [img]ссылка на картинку[/img]
* Для вставки ссылки на другую страничку в интернете используется тег [url]ссылка[/url]
Его использование возможно в двух вариантах - с подписью ссылки и без:
* Если надо просто вставить ссылку, то используем вариант: [url]здесь пишем ссылку[/url]. Выглядеть это будет вот так, например: http://tuft.rigma.biz/
* Если мы хотим "скрыть" сам текст ссылки за подписью, то используем такой вариант: [url=здесь пишем саму ссылку]тут пишем описание ссылки[/url]. В результате увидим что-то такое: Форум Василис
* Если мы хотим выделить email так, что бы почтовая программа (если она настроена) автоматически подхватывала указанный адрес и подставляла его в поле Кому, то рекомендуется публиковать email следующим образом: [email]адрес почты[/email]. Будет это выглядеть так: admin@rigma.biz
* Так же если необходимо вставить ссылку на папку или файл, расположенный на FTP-сервере (хранилище файлов) можно воспользоваться тегом [ftp]ссылка на FTP[/ftp]. Будет что-то похожее на: ftp://mirror.yandex.ru/fedora/Использование другого форматирования внутри данных тегов не допускается (кроме описания ссылки в теге [url][/url]).
ДД:
Добавление эффектов к тексту (№№ 16, 17, 18)
Форум позволяет применить следующие эффекты к тексту сообщения:
1. Обрамление.
Тег обрамления использует три параметра и позволяет "обвести" контуром текст:
[glow=цвет,толщина,300]Обрамление[/glow]
* цвет может быть указан по аналогии с изменением цвета текста,
* толщина показывает толщину обрамления текста в пикселях,
* назначение третьего параметра я так и не понял :DПример:
Красным 2 пикселя-[glow=red,2,300]Красным 2 пикселя[/glow]Зеленым 3 пикселя-[glow=green,3,300]Зеленым 3 пикселя[/glow]2. Тень
Тег тени создает иллюзию тени к тексту указанного цвета с указанной стороны:
[shadow=цвет,сторона]Тень[/shadow]
* цвет мы используем так же, как и в обрамлении, цвете текста,
* сторона может быть левая (left) или правая (right)Примеры:
Красная слева-[shadow=red,left]Красная слева[/shadow]Красная справа-[shadow=red,right]Красная справа[/shadow]Бирюзовая слева-[shadow=teal,left]Бирюзовая слева[/shadow]3. И еще один интересный эффект:
Бегущая строкаПозволяет вставить строчку текста, которая будет перемещаться справа налево по кругу.
Используется следующим образом:
[move]Бегущая строка[/move]
Внутри данных тегов можно спокойно использовать практически любой другой тег оформления.
ДД:
Дополнительное форматирование (№№ 19, 20, 21)
Рассмотрим следующие варианты форматирования текста:
* Надстрочный текст
* Подстрочный текст
* Телетайпный текст
В основном надстрочный и подстрочный тексты используют для "рисования" формул в тексте.
Например:
E=mc2 сделано вот так: E=mc[sup]2[/sup]
a4 - b4 = (a - b)(a + b)(a2 + b2) реализовано так: a[sup]4[/sup] - b[sup]4[/sup] = (a - b)(a + b)(a[sup]2[/sup] + b[sup]2[/sup])
loga 1 = 0 получилось так: log[sub]a[/sub] 1 = 0
Телетайпный формат текста реализует внешний вид по аналогии с старыми телетайпными/телеграфными аппаратами
Оформляется в теги [tt]текст[/tt]
Данные теги можно спокойно сочетать с другими вариантами оформления (выделение, цвет и т.п.).
ДД:
Работа с таблицами (№22)
Пожалуй самое сложно в тегах - это работа с таблицами. При их форматировании надо помнить много нюансов и быть очень внимательным.
Таблица состоит из трет тегов:
* Сама таблица берется в теги [table][/table]
* Каждая строка таблицы "оборачивается" в теги [tr][/tr]
* Каждая ячейка заключена в теги [td][/td]
Из простых правил надо помнить, что:
* Текст в таблице может размещаться только внутри тегов ячейки [td][/td]
* Число столбцов в каждой строке должно быть одинаковым
Пример простенькой таблицы из 2 строк и 3 столбцов реализовывается так:
--- Код: ---[table]
[tr][td]Строка 1 - Столбец 1[/td][td]Строка 1 - Столбец 2[/td][td]Строка 1 - Столбец 3[/td][/tr]
[tr][td]Строка 2 - Столбец 1[/td][td]Строка 2 - Столбец 2[/td][td]Строка 2 - Столбец 3[/td][/tr]
[/table]
--- Конец кода ---
Результат будет выглядеть так:
Строка 1 - Столбец 1Строка 1 - Столбец 2Строка 1 - Столбец 3Строка 2 - Столбец 1Строка 2 - Столбец 2Строка 2 - Столбец 3Сочетание тегов внутри и снаружи таблицы позволяет отформатировать текст в читаемый вид. Пожалуй проще всего это показать на следующем примере:
--- Код: ---[center][table]
[tr][td][center][b]№ п/п[/b][/center][/td][td][center][b]Фамилия[/b][/center][/td][td][center][b]Средний бал[/b][/center][/td][/tr]
[tr][td][center][b]1[/b][/center][/td][td][left]Иванов[/left][/td][td][right]23,5[/right][/td][/tr]
[tr][td][center][b]2[/b][/center][/td][td][left]Петров[/left][/td][td][right]18,1[/right][/td][/tr]
[tr][td][center][b]3[/b][/center][/td][td][left]Сидоров[/left][/td][td][right]22,7[/right][/td][/tr]
[/table][/center]
--- Конец кода ---
Результат выглядит так:
№ п/пФамилияСредний бал1Иванов23,52Петров18,13Сидоров22,7
Рассмотрим его подробнее.
* Всю таблицу мы взяли в теги [center][/center] для её выравнивания по центру сообщения.
* Первую строку таблицы считаем "шапкой" и к каждой ячейке применяем теги [b][/b] и [center][/center] для выделения жирным и выравнивания по центру в ячейках.
* Аналогично применяем теги для первого столбца.
* Фамилии лучше размещать выровненными по левому краю, для чего и используем теги [left][/left].
* А вот цифры (особенно с одинаковым количеством знаков после запятой) лучше выровнять по правому краю с помощью тегов [right][/right]
* Повторюсь, но все форматирования обязательно применяются к каждой ячейке отдельно если их не надо применить ко всей таблице сразу (например сделать цвет шрифта в таблице синим и т.п.)По тегам таблицы могут и будут возникать вопросы, которые можно будет обсудить потом на живых примерах.
ДД:
Дополнительное форматирование №2 (№№ 23, 24, 25)
Рассмотрим теперь такие элементы форматирования как "вставка кода", "вставка цитаты" и "отключение тегов BBcode".
Эти элементы будут на форуме использоваться реже (кроме цитаты), но вдруг понадобятся кому-то.
Вставка кода осуществляется тегами [code]вставляемый код[/code]. Примеры использования можно увидеть в описании создания таблицы - очень удобно форматировать в наглядный вид. Так же используется для вставки каких-либо "служебных" текстов на странице (сейчас начну страшно материться), например вот кусок кода из одного моего проекта:
--- Код: ---<?php
// brief Работа с MySQL
// author Dark Dayver
// version 0.2.0
// details Содержит класс по работе с БД MySQL.
if (IN_GALLERY !== TRUE)
{
die('HACK!');
}
class db
{
private $link;
var $txt_query;
var $res_query;
var $result = FALSE;
var $aff_rows = FALSE;
var $insert_id = FALSE;
var $error;
function db($dbhost, $dbuser, $dbpass, $dbname)
{
$this->link = @mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connect DB: ' . mysql_errno($this->link) . ' - ' . mysql_error($this->link));
@mysql_select_db($dbname, $this->link) or die ('Error select DB: ' . mysql_errno($this->link) . ' - ' . mysql_error($this->link));
@mysql_query("SET CHARACTER SET utf8", $this->link);
@mysql_query("SET NAMES 'utf8'", $this->link);
}
private function query()
{
$this->aff_rows = FALSE;
$this->insert_id = FALSE;
$this->res_query = @mysql_query($this->txt_query, $this->link);
if ($this->res_query === FALSE)
{
$this->error = 'Error DB: ' . mysql_errno($this->link) . ' - ' . mysql_error($this->link) . ' - SQL: ' . $this->txt_query;
return FALSE;
}
else
{
$this->aff_rows = @mysql_affected_rows($this->link);
$this->insert_id = @mysql_insert_id($this->link);
return TRUE;
}
}
function select($select, $from_tbl, $where = FALSE, $order = FALSE, $group = FALSE, $limit = FALSE)
{
if (strlen($this->txt_query) > 0) $this->clean();
$this->txt_query = 'SELECT ';
if (!is_array($select))
{
$select = array($select);
}
$selects = '';
foreach ($select as $tmp)
{
if ($tmp == '*' || $tmp[0] == '`' || $tmp[strlen($tmp) - 1] == '`')
{
$selects .= ', ' . $tmp;
}
else
{
$selects .= ', `' . $tmp . '`';
}
}
$selects = substr($selects, 2);
$this->txt_query .= $selects . ' FROM `' . $from_tbl . '`';
if ($where != FALSE) $this->where($where);
if ($order != FALSE) $this->order($order);
if ($group != FALSE) $this->group($group);
if ($limit != FALSE) $this->limit($limit);
return $this->query();
}
function delete($from_tbl, $where = FALSE, $order = FALSE, $limit = FALSE)
{
if (strlen($this->txt_query) > 0) $this->clean();
$this->txt_query = 'DELETE FROM `' . $from_tbl . '`';
if ($where != FALSE) $this->where($where);
if ($order != FALSE) $this->order($order);
if ($limit != FALSE) $this->limit($limit);
return $this->query();
}
function truncate($tbl)
{
if (strlen($this->txt_query) > 0) $this->clean();
$this->txt_query = 'TRUNCATE TABLE `' . $tbl . '`';
return $this->query();
}
function update($update, $to_tbl, $where = FALSE, $order = FALSE, $limit = FALSE)
{
if (strlen($this->txt_query) > 0) $this->clean();
$this->txt_query = 'UPDATE `' . $to_tbl . '` SET ';
$updates = '';
foreach ($update as $key => $value)
{
if ($value === NULL)
{
$updates .= ', `' . $key . '` = NULL';
}
else
{
$updates .= ', `' . $key . "` = '" . $value . "'";
}
}
$this->txt_query .= substr($updates, 2);
if ($where != FALSE) $this->where($where);
if ($order != FALSE) $this->order($order);
if ($limit != FALSE) $this->limit($limit);
return $this->query();
}
function insert($insert, $to_tbl, $type = FALSE)
{
if (strlen($this->txt_query) > 0) $this->clean();
if ($type == 'ignore')
{
$this->txt_query = 'INSERT IGNORE INTO ';
}
else if ($type == 'replace')
{
$this->txt_query = 'REPLACE INTO ';
}
else
{
$this->txt_query = 'INSERT INTO ';
}
$keys = '';
$values = '';
foreach ($insert as $key => $value)
{
$keys .= ', `' . $key . '`';
$values .= ", '" . $value . "'";
}
$this->txt_query .= '`' . $to_tbl . '` (' . substr($keys, 2) . ') VALUES (' . substr($values, 2) . ')';
return $this->query();
}
private function where($where)
{
if (strlen($this->txt_query) > 0)
{
$this->txt_query .= ' WHERE ' . $where;
}
}
private function order($order, $sort = FALSE)
{
if (is_array($order)) list($order, $sort) = each($order);
if (strlen($this->txt_query) > 0)
{
if ($order !== 'rand()')
{
$this->txt_query .= ' ORDER BY `' . $order . '`';
if ($sort == 'down') $this->txt_query .= ' DESC';
else if ($sort == 'up') $this->txt_query .= ' ASC';
}
else $this->txt_query .= ' ORDER BY rand()';
}
}
private function group($group, $sort = FALSE)
{
if (is_array($group)) list($group, $sort) = each($group);
if (strlen($this->txt_query) > 0)
{
$this->txt_query .= ' GROUP BY `' . $group . '`';
if ($sort == 'down')
{
$this->txt_query .= ' DESC';
}
else if ($sort == 'up')
{
$this->txt_query .= ' ASC';
}
}
}
private function limit($limit, $start = 0)
{
if (is_array($limit)) list($limit, $start) = each($limit);
if (strlen($this->txt_query) > 0 && $limit > 0)
{
$this->txt_query .= ' LIMIT ' . $start . ', ' . $limit;
}
}
function res_row()
{
if ($this->res_query)
{
$this->result = @mysql_fetch_assoc($this->res_query);
}
else
{
$this->result = FALSE;
}
return $this->result;
}
function res_arr()
{
if ($this->res_query)
{
$i = 0;
$this->result = array();
while ($tmp = @mysql_fetch_assoc($this->res_query))
{
$this->result[$i] = $tmp;
$i++;
}
if ($i = 0)
{
$this->result = FALSE;
}
}
else
{
$this->result = FALSE;
}
return $this->result;
}
private function clean()
{
$this->txt_query = '';
$this->res_query = FALSE;
$this->result = FALSE;
$this->aff_rows = FALSE;
$this->insert_id = FALSE;
$this->error = '';
}
}
?>
--- Конец кода ---
;D Код вставлен просто для показа того, как форум сам раскрасил код в зависимости от назначения его элементов.
Цитаты могут использовать как для цитирования фрагментов инструкций, книг и т.п., так и для цитирования пользователей. Пример цитирования пользователей:
--- Цитата: ДД от 20 Март 2018, 10:06:23 ---Работа с таблицами (№22)
--- Конец цитаты ---
Выглядит оно так:
[quote author=ДД link=topic=600.msg20292#msg20292 date=1521529583]
...цитируемый текст...
[/quote]
* author=автор - здесь можно указать автора цитаты (можно использовать самому)
* link=ссылка - здесь ссылку на саму цитату (автоматически вставляет форум)
* date=дата в внутреннем формате (автоматически вставляет форум)Вот пример того, как можно оформить цитату с указанием автора и источника:
[quote author=Алистер Кроули]
[size=14pt]Нетерпимость есть признак бессилия.[/size]
[right][i](с) [url=http://citaty.info/quote/319062]Citaty.Info[/url][/i][/right]
[/quote]
Результат будет выглядеть так:
--- Цитата: Алистер Кроули ---Нетерпимость есть признак бессилия.
(с) Citaty.Info
--- Конец цитаты ---
Отключение тегов было добавлено на форум как раз для возможности показать в тексте как эти теги следует писать.
Используется оно следующим образом:
[nobbc][b]текст[/b] [u]с[/u] [s]разными[/s] [u]тегами[/u][/nobbc]
Навигация
Перейти к полной версии