|
|
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo
|
|
Przesunięty przez: joli 22-01-2009, 18:14 |
Kolorowy code i numery linii |
Autor |
Wiadomość |
tosiek

Pomógł: 109 razy Posty: 1418
|
Wysłany: 14-08-2008, 10:37 Kolorowy code i numery linii
|
|
|
Witam. Zainstalowałem sobie tę modyfikację:
http://www.kurshtml.boo.pl/phpbb/#code_highlight
Ale coś nie chce działać, sami zobaczcie:
http://www.tosiek.pl/453.htm#919
W poście włączyłem html ;/ I nie wiem czy istnieje jakaś działająca wersja pod phpbb by przemo ? |
_________________ Naprawa krzaczków oraz chińskich literek, przywracanie polskich znaków jak i przenoszenie forów to codzienność... wczorajszość i jutrzejszość.
tosiek - istota śmiertelna, potrafiąca umierać do trzech razy... |
|
|
|
 |
Gadatliwa Kasia
|
|
|
|
They2

Pomógł: 82 razy Posty: 1297
|
Wysłany: 14-08-2008, 11:29
|
|
|
tosiek, to jest tylko dla php, ty wstawiles html.
wstaw np.
|
_________________ Support | Pomoc | Modyfikacja | Zlecenie płatne - zapraszam na PW oraz pod moim adresem.
Nie udzielam w GG. |
|
|
|
 |
tosiek

Pomógł: 109 razy Posty: 1418
|
Wysłany: 14-08-2008, 11:32
|
|
|
Tam, jest wstawiony plugin w pawnie czyli kod ;/ ale nie html wszystkie kody zamienia na html ;/ |
_________________ Naprawa krzaczków oraz chińskich literek, przywracanie polskich znaków jak i przenoszenie forów to codzienność... wczorajszość i jutrzejszość.
tosiek - istota śmiertelna, potrafiąca umierać do trzech razy... |
|
|
|
 |
They2

Pomógł: 82 razy Posty: 1297
|
Wysłany: 14-08-2008, 11:41
|
|
|
tosiek, bzdury albo nie rozumiesz co pisalem
w php ,zeby miec kolorowe kody php to musisz miec kody zaczynajace od <?php do ?>
czyli to:
Kod: | <?php
echo 'hello';
?> |
a te kody ktore wstawiles to jest czysty html i takiego nie bedzie wyswietlac kolorowo. |
_________________ Support | Pomoc | Modyfikacja | Zlecenie płatne - zapraszam na PW oraz pod moim adresem.
Nie udzielam w GG. |
|
|
|
 |
warna


Pomógł: 475 razy Posty: 2335
|
Wysłany: 14-08-2008, 11:46
|
|
|
Tuż pod tym co wstawiasz w includes/bbcode.php zakomentuj linie:
Kod: | $code_entities_match = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
$code_entities_replace = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
$after_replace = str_replace($code_entities_match, $code_entities_replace, $after_replace); |
U mnie działa.
They, tutaj znaczniki <?php i ?> nie są wymagane
edit: jedyny bug, który widzę, to jeśli wstawiam <?php na początku to wyświetla tylko php. |
Ostatnio zmieniony przez warna 14-08-2008, 11:54, w całości zmieniany 1 raz |
|
|
|
 |
Radek


Pomógł: 955 razy Posty: 4614
|
Wysłany: 14-08-2008, 11:49
|
|
|
They2,
Cytat: | Koloruje w postach na forum składnię dowolnego języka programowania, skryptowego lub innego. |
Cytat: | - Będzie potrafił bez żadnych dodatkowych aktualizacji kolorować składnię języków, które nawet jeszcze nie powstały |
On htmla nie wstawial - ten mod sam uzywa htmla do kolorowania i wstawiania numerow.
tosiek - w bbcode.php znajdz:
Kod: | $code_entities_replace = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
$after_replace = str_replace($code_entities_match, $code_entities_replace, $after_replace); |
i zamien na:
Kod: | $code_entities_replace = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
//$after_replace = str_replace($code_entities_match, $code_entities_replace, $after_replace); |
To włączy htmla w code, więc mod powinien działać. Takie rozwiązanie na szybko.
[ Dodano: 14-08-2008, 11:50 ]
ops, spozniony |
|
|
|
 |
They2

Pomógł: 82 razy Posty: 1297
|
Wysłany: 14-08-2008, 12:26
|
|
|
hmm coz.. przepraszam za te, a myslalem tylko dla php, sprawdzalem i faktycznie byly bledy , o ktorym pisaliscie (php zamienia w html).
warna, RuseK, te co podaliscie nie dziala.
wywalilem fragment kodu ze standartowego: Kod: |
// Special chars
$code_entities_match = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
$code_entities_replace = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
$after_replace = str_replace($code_entities_match, $code_entities_replace, $after_replace);
$after_replace = str_replace(array('&', '&amp;'), '&', $after_replace);
$code_entities_match = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
$code_entities_replace = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
$after_replace = str_replace($code_entities_match, $code_entities_replace, $after_replace);
// Replace 2 spaces with " " so non-tabbed code indents without making huge long lines.
$after_replace = str_replace(" ", " ", $after_replace);
// now Replace 2 spaces with " " to catch odd #s of spaces.
$after_replace = str_replace(" ", " ", $after_replace);
// Replace tabs with " " so tabbed code indents sorta right without making huge long lines.
$after_replace = str_replace("\t", " ", $after_replace);
// now Replace space occurring at the beginning of a line
$after_replace = preg_replace("/^ {1}/m", ' ', $after_replace); |
i dziala kolorowo w php i html
nie wiem czy jest dobrze, niech ktos potestuje. |
|
|
|
 |
tosiek

Pomógł: 109 razy Posty: 1418
|
Wysłany: 14-08-2008, 17:04
|
|
|
żadne nie che działać zobaczcie na temat który podałem w 1 poście |
_________________ Naprawa krzaczków oraz chińskich literek, przywracanie polskich znaków jak i przenoszenie forów to codzienność... wczorajszość i jutrzejszość.
tosiek - istota śmiertelna, potrafiąca umierać do trzech razy... |
|
|
|
 |
They2

Pomógł: 82 razy Posty: 1297
|
Wysłany: 14-08-2008, 17:07
|
|
|
spróbuj ode mnie cały fragment funkcji:
Kod: | function bbencode_second_pass_code($text, $uid, $bbcode_tpl)
{
global $lang;
$code_start_html = $bbcode_tpl['code_open'];
$code_end_html = $bbcode_tpl['code_close'];
// First, do all the 1st-level matches. These need an htmlspecialchars() run,
// so they have to be handled differently.
$match_count = preg_match_all("#\[code:1:$uid\](.*?)\[/code:1:$uid\]#si", $text, $matches);
for ($i = 0; $i < $match_count; $i++)
{
$before_replace = $matches[1][$i];
$after_replace = $matches[1][$i];
////////// CODE HIGHLIGHT
$code_highlight_rand = rand(1000, 1000000000);
$after_replace = str_replace(array(':', '[', ']', '(', ')', '{', '}', '"', '<', '>', '&', '<'.'?', '<'.'?php', '?'.'>', '\\\\', '\\"', "\\'", '\\'), array(':', '[', ']', '(', ')', '{', '}', '"', '<', '>', '&', '/*'.chr(127).$code_highlight_rand.chr(127).'?*/', '/*'.chr(127).$code_highlight_rand.chr(127).'?php*/', '/*?'.chr(127).$code_highlight_rand.chr(127).'*/', chr(127).($code_highlight_rand+1).chr(127), chr(127).($code_highlight_rand+2).chr(127), chr(127).($code_highlight_rand+3).chr(127), chr(127).($code_highlight_rand+4).chr(127)), $after_replace);
$after_replace = preg_replace('/<\/(script)>/i', '</'.chr(127).$code_highlight_rand.'x$1x'.$code_highlight_rand.chr(127).'>', $after_replace);
$after_replace = highlight_string('<'.'?' . $after_replace . '?'.'>', 1);
$after_replace = str_replace(' ', ' ', $after_replace);
if (strpos($after_replace, '</font>')) $after_replace = preg_replace(array('/<font color="/i', '/<\/font>/i'), array('<span style="color: ', '</span>'), $after_replace);
$code_highlight_color = preg_match("/<span style=\"color: ?(#[0-9A-F]{6})\"><\?/i", $after_replace, $code_highlight_color) ? $code_highlight_color[1] : '';
$after_replace = preg_replace(array("/^<code>(.*)<\?/iseU", "/\?>(.*)<\/code>$/iseU"), array('str_replace("\n", "", "$1")', 'str_replace("\n", "", "$1")'), $after_replace);
// Make PHP functions links:
include_once($phpbb_root_path . 'includes/code_highlight_php.php');
$after_replace = preg_replace_callback('/\/\*'.chr(127).$code_highlight_rand.chr(127).'\?\*\/.*\/\*\?'.chr(127).$code_highlight_rand.chr(127).'\*\//sU', 'code_highlight_php', $after_replace);
$after_replace = str_replace(array('/*'.chr(127).$code_highlight_rand.chr(127).'?*/', '/*'.chr(127).$code_highlight_rand.chr(127).'?php*/', '/*?'.chr(127).$code_highlight_rand.chr(127).'*/', chr(127).($code_highlight_rand+1).chr(127), chr(127).($code_highlight_rand+2).chr(127), chr(127).($code_highlight_rand+3).chr(127), chr(127).($code_highlight_rand+4).chr(127)), array('<span style="color: '.$code_highlight_color.'"><?</span>', '<span style="color: '.$code_highlight_color.'"><?php</span>', '<span style="color: '.$code_highlight_color.'">?></span>', '\\\\', '\\"', "\\'", '\\'), $after_replace);
$after_replace = preg_replace(array('/'.chr(127).$code_highlight_rand.'x(script)x'.$code_highlight_rand.chr(127).'/i', "/<span style=\"color: ?#[0-9A-F]{6}\">([ \t\n]*<span style=\"color: ?#[0-9A-F]{6}\">[^<>]+<\/span>[ \t\n]*)<\/span>/i", "/<span style=\"color: ?#[0-9A-F]{6}\">([ \t\n]*)<\/span>/i"), array('$1', '$1', '$1'), $after_replace);
// Make tab marks:
$after_replace = preg_replace("/> ( *)/i", '><span class="tab"> $1</span>', $after_replace);
// Make line numeration:
$after_replace_lines = spliti("<br ?/?>", $after_replace);
for ($code_highlight_i = 0, $code_highlight_tmp = '', $code_highlight_stop = count($after_replace_lines), $code_highlight_stop2 = strlen($code_highlight_stop); $code_highlight_i < $code_highlight_stop; $code_highlight_i++)
{
$code_highlight_num = strrev($code_highlight_i + 1);
$code_highlight_tmp .= '<span class="n">';
for ($code_highlight_j = $code_highlight_stop2 - 1, $code_highlight_num_tmp = ''; $code_highlight_j >= 0; $code_highlight_j--)
{
$code_highlight_num_tmp .= '<img src="images/nums/' . ($code_highlight_j >= strlen($code_highlight_num) ? 'blank' : substr($code_highlight_num, $code_highlight_j, 1)) . '.png" alt="" />';
}
$code_highlight_tmp .= $code_highlight_num_tmp . '</span>' . $after_replace_lines[$code_highlight_i];
if ($code_highlight_i < count($after_replace_lines) - 1) $code_highlight_tmp .= '<br />';
}
$after_replace = $code_highlight_tmp;
// Do not parse smilies:
$after_replace = str_replace(array(':', '[', ']', '(', ')', '{', '}'), array(':', '[', ']', '(', ')', '{', '}'), $after_replace);
////////// /CODE HIGHLIGHT
/*
// Special chars
$code_entities_match = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
$code_entities_replace = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
$after_replace = str_replace($code_entities_match, $code_entities_replace, $after_replace);
$after_replace = str_replace(array('&', '&amp;'), '&', $after_replace);
$code_entities_match = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
$code_entities_replace = array('<', '>', '"', ':', '[', ']', '(', ')', '{', '}');
$after_replace = str_replace($code_entities_match, $code_entities_replace, $after_replace);
// Replace 2 spaces with " " so non-tabbed code indents without making huge long lines.
$after_replace = str_replace(" ", " ", $after_replace);
// now Replace 2 spaces with " " to catch odd #s of spaces.
$after_replace = str_replace(" ", " ", $after_replace);
// Replace tabs with " " so tabbed code indents sorta right without making huge long lines.
$after_replace = str_replace("\t", " ", $after_replace);
// now Replace space occurring at the beginning of a line
$after_replace = preg_replace("/^ {1}/m", ' ', $after_replace);
*/
$str_to_match = "[code:1:$uid]" . $before_replace . "[/code:1:$uid]";
$replacement = $code_start_html;
$replacement .= $after_replace;
$replacement .= $code_end_html;
$text = str_replace($str_to_match, $replacement, $text);
}
// Now, do all the non-first-level matches. These are simple.
$text = str_replace("[code:$uid]", $code_start_html, $text);
$text = str_replace("[/code:$uid]", $code_end_html, $text);
return $text;
} // bbencode_second_pass_code()
|
|
_________________ Support | Pomoc | Modyfikacja | Zlecenie płatne - zapraszam na PW oraz pod moim adresem.
Nie udzielam w GG. |
|
|
|
 |
tosiek

Pomógł: 109 razy Posty: 1418
|
Wysłany: 14-08-2008, 17:10
|
|
|
Coraz lepeij ale nadal nie działa najlepiej ;/ |
_________________ Naprawa krzaczków oraz chińskich literek, przywracanie polskich znaków jak i przenoszenie forów to codzienność... wczorajszość i jutrzejszość.
tosiek - istota śmiertelna, potrafiąca umierać do trzech razy... |
|
|
|
 |
They2

Pomógł: 82 razy Posty: 1297
|
Wysłany: 14-08-2008, 17:30
|
|
|
te kody wyzej co wkleilem tutaj to zamienili na jakies znaki i jest zle.
zalaczylem nowa instrukcje ode mnie. |
|
|
|
 |
tosiek

Pomógł: 109 razy Posty: 1418
|
Wysłany: 14-08-2008, 18:07
|
|
|
Po instalacja z twojej instrukcji niby działa Ale po co jest ta instrukcja delete skoro to co podałeś do instalacji nie zawiera tego ?
Wszystko już działa dzięki za instrukcję |
_________________ Naprawa krzaczków oraz chińskich literek, przywracanie polskich znaków jak i przenoszenie forów to codzienność... wczorajszość i jutrzejszość.
tosiek - istota śmiertelna, potrafiąca umierać do trzech razy... |
|
|
|
 |
warna


Pomógł: 475 razy Posty: 2335
|
Wysłany: 14-08-2008, 19:21
|
|
|
No jak nie działa, skoro wkleiłem do siebie na testowym czystym forum i trybi? |
|
|
|
 |
tosiek

Pomógł: 109 razy Posty: 1418
|
Wysłany: 14-08-2008, 20:27
|
|
|
Czyste a luknij w check files moje ale to była pierwsza modyfikacja bbcode.php
Ale u mnie też działa po instalacji z instrukcji they-a |
_________________ Naprawa krzaczków oraz chińskich literek, przywracanie polskich znaków jak i przenoszenie forów to codzienność... wczorajszość i jutrzejszość.
tosiek - istota śmiertelna, potrafiąca umierać do trzech razy... |
|
|
|
 |
Gadatliwa Kasia
|
|
|
|
Radek


Pomógł: 955 razy Posty: 4614
|
Wysłany: 14-08-2008, 21:46
|
|
|
tosiek, tosiek napisał/a: | ale to była pierwsza modyfikacja bbcode.php |
A poprawienie tego moda opierało się własnie na edycji pliku.
U mnie też śmigało bez problemów, tak jak u warny.
They, czemu kazałeś wyrzucić ten:
Kod: | // Replace 2 spaces with " " so non-tabbed code indents without making huge long lines.
$after_replace = str_replace(" ", " ", $after_replace);
// now Replace 2 spaces with " " to catch odd #s of spaces.
$after_replace = str_replace(" ", " ", $after_replace);
// Replace tabs with " " so tabbed code indents sorta right without making huge long lines.
$after_replace = str_replace("\t", " ", $after_replace);
// now Replace space occurring at the beginning of a line
$after_replace = preg_replace("/^ {1}/m", ' ', $after_replace); |
fragment?
Akurat to się przyda - zapobiega 'rozwalaniu się' widoku tematu i zamienia wszystkie spacje z początku linii na jedną. Z kodem html potrzebnym do funkcjonowania moda nic wspólnego to nie ma. |
|
|
|
 |
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
Kopiowanie wszelkich treści zawartych na forum, modyfikacji oraz instrukcji bez zgody administracji i autorów tematów/postów zabronione!
Powered by phpBB modified by Przemo © 2003 phpBB
|