Нумерация строк

Печать RSS
121

Автор
Пацак
0
вообщем пытаюсь сделать нумерацию строк в подсветке бб кода

<?php
function highlight($code)
{
  $code = highlight_string($code, true);
  $code = '<div class="num">' . implode(range(1, mb_strlen($code, 'UTF8')+1), '<br/>') . '</div>';  
  return $code;
} 
?>
работает не так как надо, в чем дело?
K

Транклюкаторщик
0
строка 1 единственная потому что считается smile
как я вижу решение: нужно делить с помощью wordwrap, а затем уже считать количество "\n", и исходя из этого нумеровать

Добавлено через 05:34 сек.
хотя чую анусом что можно сделать это изящнее E
K

Транклюкаторщик
0
В

Чатланин
0
ты функцию implode не правильно используешь.. параметры местами поменяй
K

Транклюкаторщик
0
тем кодом что автор делает, он просто сделает так:
01234567891011<? echo 'hello world';?>
так не прокатит, логика не верна
Автор
Пацак
0
#4 куда местами менять?
#5 там ничего путнего нет)
K

Транклюкаторщик
0
<?php 
function highlight($code) 
{
$count =  mb_strlen($code, 'UTF8');
$ret = '';
$code = explode("\n",highlight_string($code, true));
for($i=0;$i<=$count;$i++){
$ret.= $i /* номер строки */ .') '.$code[$i]."\n" /*сама строка + перенос */;
}  
  return $ret; 
}  
?> 
не тестил, но что-то в таком роде в общем
Изменил: KOZZ (10.06.2011 / 06:34)
Автор
Пацак
0
Получилось вот так

0)  1) 
<? 
echo 'Hallo'; 
 2)  3)  4) 5) 6) 7) 8) 9) 10) 11) 12) 13) 14) 15) 16) 17) 18) 19) 20) 21)

2000 лет д.н.э.
0
<?
        $code = explode(PHP_EOL, $code);
        $ret = '<pre>';
        foreach ($code as $line => $string){
        $ret .= rtrim($string) . '<br>';
        }
        $ret .= '</pre>';
?>
правда у меня это со своим классом подсветки работает, не знаю как поведет себя с highlight_string()
Изменил: ramzes (11.06.2011 / 04:05)
Автор
Пацак
0
рамзес, так тоже не канает, если ретурню $code возвращает Array если $ret возвращает обычный код, без нумерации, но с пробелами

Добавлено через 02:45 сек.
да, и откуда берется $line ? как я понял это будет return $code[$line]; ?
Изменил: Дмитрий (11.06.2011 / 04:23)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск