Ответить
Как сделать столбец с номерами строк и подсветку синтаксиса?
Разметкой кода можно пренебречь. Скорее всего нужно, ведь лучше таблицой делать?
Реализация расширения ББ кодов
Отправлено: 15 Мар 2011#1
1
2
<?php $html = preg_replace("#\[code\](.+)\[\/code\]#isU", '<br/><div style="width: 80%; margin-left: 7px;"><div id="codetop">Код: </div><div id="code">\\1</div></div>', $html);?>
Как сделать столбец с номерами строк и подсветку синтаксиса?
Разметкой кода можно пренебречь. Скорее всего нужно, ведь лучше таблицой делать?
Отредактировано автором 15 Мар 2011
Отправлено: 16 Мар 2011#2
ну подсветка пхп кода лучше всего делается родной функцией самого пхп highlight_string();
А номера строк можно добавить уже потом. Например перебирая строки и добавляя перед ними номер.
Добавлено 2011.03.16 14-20
А номера строк можно добавить уже потом. Например перебирая строки и добавляя перед ними номер.
Добавлено 2011.03.16 14-20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php /**
* @param string $str
* @return string
*
* highlight php string
*/
public function highlight_php_string($str) {
$str = highlight_string($str, true);
$cnt = 1;
if (preg_match_all('#(<br />)#iu', $str, $count)) {
$cnt = count($count[1]);
}
$box = '<div style="width:35px; float:left; padding-right:5px; text-align: right;" ><code>';
for ($i = 1; $i < ($cnt + 2); $i++) {
$box .= ' ' . $i . ' <br />';
}
$box .= '</code></div>';
$str = $box . '<div style="margin-left:40px;">' . $str . '</div>';
return $str;
}?>
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 16 Мар 2011#3
А теперь поясни) + Как ты реализовывал переход строк? Автодобавлением бр? Как это сделать) А то я просто вайт спейсом)
Отправлено: 16 Мар 2011#4
там предварительно заменяються \n на <br /> вот и весь переход строк))
Я горжусь тем, что создал бесплатную CMS - AtomX . И люблю нашу команду)
Отправлено: 16 Мар 2011#8
skad0, он нажимает клавишу "ввод", которая вставляет символ перевода строки. Иногда символ перевода строки и символ возврата коретки.
Отправлено: 16 Мар 2011#9
Если бы он вставлял символ автоматом, тогда в базе бы появились \n они не появляются О_О
Добавлено 2011.03.16 21-12
C \n понял. Сенкс
Добавлено 2011.03.16 21-13
Теперь поясните как мне реализовать эту функцию в ББ коде.
Добавлено 2011.03.16 21-13
Или поясните как реализовать по другому) Есть же наверное способы?)
Добавлено 2011.03.16 21-12
C \n понял. Сенкс
Добавлено 2011.03.16 21-13
Теперь поясните как мне реализовать эту функцию в ББ коде.
Добавлено 2011.03.16 21-13
1
2
<?php $html = preg_replace("#\[code\](.+)\[\/code\]#isU", '<br/><div style="width: 80%; margin-left: 7px;"><div id="codetop">Код: </div><div id="code">\\1</div></div>', $html);?>
Или поясните как реализовать по другому) Есть же наверное способы?)
Отредактировано автором 16 Мар 2011
Отправлено: 17 Мар 2011#10
skad0, заменяет открывающий и закрывающий BB-код code на соотвествующие html конструкции. По простому это делается так (хотя и не совсем верно, поскольку не отслеживается использование других BB-кодов внутри конструкции):
1
2
<?php $html = str_replace('[code]', '<br/><div style="width: 80%; margin-left: 7px;"><div id="codetop">Код: </div><div id="code">', $html);
$html = str_replace('[/code]', '</div></div>', $html);?>
Отредактировано автором 17 Мар 2011
Зарегистрируйтесь или авторизуйтесь что бы писать
Сейчас online: 19. Зарегистрированных: 0. Гостей: 19.