Хочу сделать подсветку php кода, использую функцию:
function highlight_code($code) {
$code = strtr($code,array('|'=>'|','<'=>'<','>'=>'>','&'=>'&','$'=>'$','"'=>'"','''=>"'",'\'=>'`','%'=>'%','^'=>'^',':'=>':','<br />'=>"\r\n"));
if(!strpos($code,'<?') && substr($code,0,2)!='<?') {$code="<?php\r\n".trim($code);}
$code = highlight_string($code,true);
$code = strtr($code,array("\r\n"=>'<br />','|'=>'|','$'=>'$',"'"=>''','`'=>'\','%'=>'%','^'=>'^',':'=>':'));
$code = '<div class="d">'.$code.'</div>';
return $code;
}
-----
бб код:
function highlight_code($code) {
$code = strtr($code,array('|'=>'|','<'=>'<','>'=>'>','&'=>'&','$'=>'$','"'=>'"','''=>"'",'\'=>'`','%'=>'%','^'=>'^',':'=>':','<br />'=>"\r\n"));
if(!strpos($code,'<?') && substr($code,0,2)!='<?') {$code="<?php\r\n".trim($code);}
$code = highlight_string($code,true);
$code = strtr($code,array("\r\n"=>'<br />','|'=>'|','$'=>'$',"'"=>''','`'=>'\','%'=>'%','^'=>'^',':'=>':'));
$code = '<div class="d">'.$code.'</div>';
return $code;
}
-----
Но проблема в том, что если я пишу код в одну строчку, бб код срабатывает, а если делаю переносы, бб код не работает.
Тоесть если [коде] echo 'test'; [коде] - работает
А если
[коде]
echo 'test';
echo 'test';
[/коде] - Не работает
В чём может быть проблема ?