PHP Highlighting

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gebruikersavatar
royduin
Berichten: 204
Lid geworden op: 08 mar 2006, 17:33

Bericht door royduin » 15 feb 2007, 14:17

Ik heb de MOD van paul en deze werkt goed, ik zou deze eens proberen! Ik hoop dat hier nog een uitbreiding voor komt, met daarin:

- ipv "Code:" moet er "PHP:" komen te staan.
- "list=" button vervangen door een "PHP" button.

Roy ;)

Onni
Berichten: 10
Lid geworden op: 15 feb 2007, 00:03

Bericht door Onni » 15 feb 2007, 18:47

Ik had even bij jou server een test accountje gemaakt en getest Roy,

http://forum.royserver.nl/viewtopic.php?p=8#8

Maar dat is juist wat ik niet wil,
teminste..
Kijk de kleuren zijn goed maar hij verandert ook de tekst die ik typ,
en dat is niet mijn bedoeling

Gebruikersavatar
royduin
Berichten: 204
Lid geworden op: 08 mar 2006, 17:33

Bericht door royduin » 15 feb 2007, 18:50

hè, dit klopt ff niet, gisteren deed hij het nog goed..

Onni
Berichten: 10
Lid geworden op: 15 feb 2007, 00:03

Bericht door Onni » 15 feb 2007, 21:50

Kijk ik zei tog niet 100%

Gebruikersavatar
royduin
Berichten: 204
Lid geworden op: 08 mar 2006, 17:33

Bericht door royduin » 16 feb 2007, 15:32

Ik blijf het raar vinden :(
Maargoed, dan gaat het denk niet door

Onni
Berichten: 10
Lid geworden op: 15 feb 2007, 00:03

Bericht door Onni » 12 mar 2007, 23:11

Nog enige vooruitgang hierzo?

Gebruikersavatar
royduin
Berichten: 204
Lid geworden op: 08 mar 2006, 17:33

Bericht door royduin » 13 mar 2007, 08:28

Ik ben ermee gestopt, die troep werkt niet :@

Coen
Berichten: 5387
Lid geworden op: 03 aug 2004, 10:25

Bericht door Coen » 13 mar 2007, 10:28

Tot op heden is er nog geen goede php-syntax-highlighter die wél alle functionaliteit bied die iedereen wil... Jammer maar helaas.

Gebruikersavatar
Ramon Fincken
Berichten: 2552
Lid geworden op: 27 nov 2005, 23:15
Locatie: Diemen
Contacteer:

Bericht door Ramon Fincken » 13 mar 2007, 12:53

Ik ga hier eens achteraan, ik weet dat evil<3 er een heeft die werkt ...

kom ik vanavond op terug !
Freelance webdevelopment, including phpbb2 scripting!

Website founder van: phpBBinstallers.net phpBBantispam.com
Mods: zie op http://www.phpbb.com Blog in wording: RamonFincken.com

Gebruikersavatar
royduin
Berichten: 204
Lid geworden op: 08 mar 2006, 17:33

Bericht door royduin » 13 mar 2007, 13:01

Als er een goede MOD komt dan ben ik heel erg blij :)

Gebruikersavatar
royduin
Berichten: 204
Lid geworden op: 08 mar 2006, 17:33

Bericht door royduin » 13 mar 2007, 14:40

Is dit een goede MOD waarbij de PHP highlighter goed werkt?

Gebruikersavatar
Ramon Fincken
Berichten: 2552
Lid geworden op: 27 nov 2005, 23:15
Locatie: Diemen
Contacteer:

Bericht door Ramon Fincken » 13 mar 2007, 21:10

1) Geen flame wars en dat soort geintjes jongens !
Een link naar een topic en/of link naar zoekpagina incl zoekwoorden naar een bekende site zoals phpbbhacks is geen probleem in mijn ogen..

http://www.phpbbstyles.com/viewtopic.ph ... =xs+bbcode

2)
ik heb een reply van evil<3 ...
Hier een quote, al is me niet duidelijk waar dat geshi bestand nu moet, ik zoek dat even uit ...

* update dat bestand haal je hiervandaan:
http://qbnz.com/highlighter/
eviL<3 schreef:
ramon fincken schreef:Hi Igor,

did you by any chance have that PHP bbcode highliting code for me?


Ramon
First of all you need to install this, and unfortunateley phpbb.com is down :(: http://www.phpbb.com/phpBB/viewtopic.php?t=119512

Here you are:

open:
includes/bbcode.php

find:

Code: Selecteer alles

$bbcode_tpl = null;
After, add:

Code: Selecteer alles

// GeSHi
include($phpbb_root_path.'includes/geshi.php');
Replace the bbencode_second_pass_php function with this:

Code: Selecteer alles

// Start add - PHP Syntax Highlighter BBCode MOD
/**
 * PHP MOD
 * Original code/function by phpBB Group
 * Modified by JW Frazier / Fubonis < php_fubonis@yahoo.com >
 */
function bbencode_second_pass_php($text, $uid, $bbcode_tpl)
{
	$code_start_html = $bbcode_tpl['php_open'];
	$code_end_html =  $bbcode_tpl['php_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("#\[php:1:$uid\](.*?)\[/php:1:$uid\]#si", $text, $matches);

	// To change the colors of the syntax, uncomment the 6 lines above and
	// change the color codes. IF your host php settings allow ini_set() the
	// colors will be changed. If ini_set() is disallowed, nothing will change.
//	@ini_set('highlight.string', '#DD0000');
//	@ini_set('highlight.comment', '#FF9900');
//	@ini_set('highlight.keyword', '#007700');
//	@ini_set('highlight.bg', '#FFFFFF');
//	@ini_set('highlight.default', '#0000BB');
//	@ini_set('highlight.html', '#000000');

	for ($i = 0; $i < $match_count; $i++)
	{
		$before_replace = $matches[1][$i];
		$after_replace = ltrim(rtrim($matches[1][$i]), "\n\r\x0B");

		// Prepare the code for highlight_string()
		$after_replace = undo_htmlspecialchars($after_replace);

		// Add the php tags if needed to let highlight_string() works
		/*if (preg_match('/^<\?.*?\?>$/si', $after_replace) <= 0)
		//if ( ! preg_match ( '#(?:\<\?php|\<\?)#is', $string, $match ) )
		{
			$after_replace = "<?php\n\n" . $after_replace . "\n\n?>";
			$added = TRUE;
		}
    else*/
		{
			$added = FALSE;
		}

		// Highlight the php code
		/*if(strcmp('4.2.0', phpversion()) > 0)
		{
			ob_start();
			highlight_string($after_replace);
			$after_replace = ob_get_contents();
			ob_end_clean();
		} else
		{
			$after_replace = highlight_string($after_replace, TRUE);
		}*/
		
		// GeSHi
    $after_replace = stripslashes($after_replace);
    $geshi =& new GeSHi($after_replace, 'php');
    
    $geshi->set_header_type(GESHI_HEADER_NONE);
    //$geshi->enable_classes();
    //$geshi->enable_line_numbers(GESHI_FANCY_LINE_NUMBERS, 5);
    //$geshi->set_overall_style('color: #000066; border: 1px solid #d0d0d0; background-color: #f0f0f0;', true);
    //$geshi->set_line_style('font: normal normal 95% \'Courier New\', Courier, monospace; color: #003030;', 'font-weight: bold; color: #006060;', true);
    //$geshi->set_code_style('color: #000020;', 'color: #000020;');
  	//$geshi->set_link_styles(GESHI_LINK, 'color: #000060;');
  	//$geshi->set_link_styles(GESHI_HOVER, 'background-color: #f0f000;');
  	//$geshi->set_header_content('GeSHi &copy; 2004, Nigel McNie. View source of example.php for example of using GeSHi');
    //$geshi->set_header_content_style('font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-bottom: 1px solid #d0d0d0; padding: 2px;');
    //$geshi->set_footer_content('Parsed in <TIME> seconds,  using GeSHi <VERSION>');
    //$geshi->set_footer_content_style('font-family: Verdana, Arial, sans-serif; color: #808080; font-size: 70%; font-weight: bold; background-color: #f0f0ff; border-top: 1px solid #d0d0d0; padding: 2px;');

    $after_replace = $geshi->parse_code();

		// Remove the php tags if added to let highlight_string() works
		/*if ($added == TRUE)
		{
			$after_replace = substr_replace($after_replace, '', '<?php ');
			$after_replace = substr_replace($after_replace, '', '?>');
		}

		// Remove the <code> tag added by highlight_string() not to force the text size
		$after_replace = str_replace('<code>', '', $after_replace); 
		$after_replace = str_replace('</code>', '', $after_replace);*/

		// Remove the new lines added by highlight_string()
		$after_replace = str_replace("\n", '', $after_replace);

		// Replace ":", "(" & ")" by their HTML codes to prevent smilies replacements
		$code_entities_match = array('#:#', '#\(#', '#\)#');
		$code_entities_replace = array(':', '(', ')');
		$after_replace = preg_replace($code_entities_match, $code_entities_replace, $after_replace);

		// Replace <font color=...> by <span style="color:...> to be HTML 4 compliant and  not to force the text size too
		//$after_replace = preg_replace('/<font color="(.*?)">/si', '<span style="color: \\1;">', $after_replace);
		$after_replace = preg_replace('/<font color="([a-fA-F0-9*]){3,6}">/si', '<span style="color: \\1;">', $after_replace);
		$after_replace = str_replace('</font>', '</span>', $after_replace);

		$str_to_match = "[php:1:$uid]" . $before_replace . "[/php: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("[php:$uid]", $code_start_html, $text);
	$text = str_replace("[/php:$uid]", $code_end_html, $text);

	return $text;

}  // bbencode_second_pass_code_php()
// End add - PHP Syntax Highlighter BBCode MOD
Laatst gewijzigd door Ramon Fincken op 13 mar 2007, 22:18, 1 keer totaal gewijzigd.
Freelance webdevelopment, including phpbb2 scripting!

Website founder van: phpBBinstallers.net phpBBantispam.com
Mods: zie op http://www.phpbb.com Blog in wording: RamonFincken.com

Coen
Berichten: 5387
Lid geworden op: 03 aug 2004, 10:25

Bericht door Coen » 13 mar 2007, 21:17

Ramon, dat bestand moet denk ik gewoon in /includes? :roll:

Gebruikersavatar
Ramon Fincken
Berichten: 2552
Lid geworden op: 27 nov 2005, 23:15
Locatie: Diemen
Contacteer:

Bericht door Ramon Fincken » 13 mar 2007, 21:20

pin me daar "even" nogniet op vast, ik wacht op een reply van evil<3 waar we dat bestand vandaan gaan halen ....
Freelance webdevelopment, including phpbb2 scripting!

Website founder van: phpBBinstallers.net phpBBantispam.com
Mods: zie op http://www.phpbb.com Blog in wording: RamonFincken.com

Coen
Berichten: 5387
Lid geworden op: 03 aug 2004, 10:25

Bericht door Coen » 13 mar 2007, 21:20

Ramon Fincken schreef:pin me daar "even" nogniet op vast, ik wacht op een reply van evil<3 waar we dat bestand vandaan gaan halen ....
Oh, de vraag was waar het vandaan moet komen, ik dacht dat de vraag was waar het naartoe moest! ;)

// EDIT: Dat zeg je ook:
Ramon Fincken schreef:Hier een quote, al is me niet duidelijk waar dat geshi bestand nu moet, ik zoek dat even uit ...

Gebruikersavatar
Ramon Fincken
Berichten: 2552
Lid geworden op: 27 nov 2005, 23:15
Locatie: Diemen
Contacteer:

Bericht door Ramon Fincken » 13 mar 2007, 22:19

het bestand is 'in da houzzze' :P

Voor alle instructies scroll even terug naar:
http://www.phpbb.nl/viewtopic.php?p=291933#291933
Freelance webdevelopment, including phpbb2 scripting!

Website founder van: phpBBinstallers.net phpBBantispam.com
Mods: zie op http://www.phpbb.com Blog in wording: RamonFincken.com

Gesloten