1. rusty_angel

    10.08.2008

    0 ↑
    0 ↓
    Если инициализировать как
    hljs.initHighlightingOnLoad();
    , то вот такой код:
    function limit_string($string, $len)
    {
    if(strlen($string) <= $len) return $string;

    $words = str_word_count($string, 2);

    $pos=0;
    foreach($words as $indx)
    if($indx<$len) $pos=$indx;

    if($pos == 0) $string = substr($string, 0, $len);
    else $string = substr($string,0,$pos);

    return rtrim($string, '!@#$^&*(;".,/?- ')."...";
    }
    подсвечивается как перл, несмотря на явно похапешные function и rtrim.

    При это, есть делать
    hljs.initHighlightingOnLoad('php','perl','sql',...,'python');
    (куча языков, среди которых есть и Perl и PHP, язык определяется верно.
  2. rusty_angel

    10.08.2008

    0 ↑
    0 ↓
    Вот, этот форум - как раз тест-кейз: здесь всё верно подсвечивается, потому что здесь hljs инициализируется с перечислением языков.
    А у меня (надеюсь, никто не сочтёт дешёвым пиаром) — вызывается без параметров и принимает php за перл.
  3. Ivan Sagalaev

    10.08.2008

    0 ↑
    0 ↓

    Посмотрю обязательно. По идее, в дефолтном наборе Perl и PHP оба есть, поэтому перечисление играть роли не должно (здесь на форуме Perl просто нет). Но в любом случае, я думаю, что добавление распознавания системных функций PHP делу поможет.

Внимание! Это довольно старый топик, посты в него не попадут в новые, и их никто не увидит. Пишите пост, если хотите просто дополнить топик, а чтобы задать новый вопрос — начните новый.