webForumDet fria alternativet

Färger på syntaxen!

18 svar · 627 visningar · startad av Fredde Mannen

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#1

Hejsan!

Jag har en lite fråga angående PHP, jag håller på där hemma och knogar på med en hemsida i PHP/Mysql, och nu har jag fått ett litet problem.

Det är så att jag vill få färg på syntaxen i ex. PHP, el. ASP osv.

Dvs har jag denna kod så ska...
Det är som jobbigt att själjv färg lägga varje liten grejj i koden!

<? 
function helllo() {
echo "Hello World!";

}
?>

den bli färglagd som nedan

<? 
function helllo() {
echo "Hello World!";

}
?>

Tack på förhand! :-)

jonneMedlem sedan jan. 20011 154 inlägg
#2

hu :q Nu får du nog utveckla din fråga lite.

jonneMedlem sedan jan. 20011 154 inlägg
#3

Om du vill visa källkoden på en phpfil så finns det en inbyggd funktion för det:

$page = "pagename.php"; 
show_source($page);

Var försiktigt dock med vad du visar så att det inte innehåller några lösenord eller liknande som kan vara skadligt för din site.

KimMedlem sedan jan. 20007 697 inlägg
#4

Vill du få färger i din kod när du editerar den? I såna fall är en PHP-editor att rekommendera. Såna har diskuterats förut. Titta här :)

streetrobbanMedlem sedan jan. 20011 140 inlägg
#5

UltraEdit 32?

Är det ingen som använder UltraEdit 32? Jag gör det, men får inga färger på min PHP kod!

loketMedlem sedan feb. 200211 inlägg
#6

Det är inga problem att få färger på din php kod med ultraedit, det finns dock inte stöd för det direkt utan du måste ladda ner det från Ultraedit.com . Sedan är det bara att starta ultraedit, gå in i Advanced -> Configuration -> Syntax highlightning och välja rätt wordfile eller lägga till php till den du kör nu.

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#7

Utveckling av frågan!

Okey, vi säger så här..

När jag läser in innehållet från en mysql databas

<?
$strsql = "SELECT * from någontabell WHERE id='$id'";

$res=mysql_query($strsql);

While($rad=mysql_fetch_array($res)) {
$innehall = $rad["innehall"];
/* Så i denna tabell finns då en artikel, som kanske innehåller
en snutt php-kod!
det är här jag har problem, när denna skriver ut artikeln så vill jag att den php-snutt eller asp-snutt
som finns i artikeln ska färgläggas som den gör nu när man använt PHP-taggarna i webforum.

*/
echo nl2br($innehall);
}
?>

Hoppas ni förstår nu!

Ps. Show_Source() eller highlight_file() är jag inte ute efter! :-)

Tack på förhand!

Biohaz66Medlem sedan mars 200248 inlägg
#8

Använd "PHP Coder" så löser det sig nog. (Om jag nu har förstått frågan rätt) :)

streetrobbanMedlem sedan jan. 20011 140 inlägg
#9

Jag kan verkligen inte få highlighting i UltraEdit 32. Jag har kopierat in PHP texten från Ultraedits hemsida in till min egen Wordfile.txt.

Sedan inne i programmet finns "PHP" att välja på "Language" under Advanced -> Syntax Highlighting. Men det funkar inte... Hur ska jag göra?

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#10

Hmpf...

:| , okey, hur ska man skriva för att ni ska förstå vad man menar!

Okey.. tänk er detta:

Ni ser ju vad fin färg php-snutten i inlägget från mig några inlägg högre upp!

Frågan lyder: Hur skapar man en sådan funktion i PHP?

Mvh Fredde Mannen.

SuPeR_ToBBeMedlem sedan mars 2001185 inlägg
#11

[del]eftersom det inte verkar finnas ngn sådan funktion innbyggd i PHP så får du nog skriva den själv, med en massa if och/eller case och/eller Regular Expressions...[/del]

det finns det visst: higlight_string

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#12

Okey...

Jaha... då får man väl göra det den tunga vägen!

tack i alla fall!!!

SuPeR_ToBBeMedlem sedan mars 2001185 inlägg
#13

var inte highlight_string det du var ute efter, då ?

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#14

Hejsan igen!

Hallo!

Tummen ner för highlight_string()

Det funkar ju inte alls för mig, det enda den gör är att den mesar upp min artikel sida, så all kod visas och sedan syns endast värdet 1, där vars texten från databasen ska visas!

Den funkar inte alls som web forums taggar funkar.
Funktionen jag är ute efter är som denna nedan


<? echo "hello world"; ?>

se vad fina färger!

highlight_string() , förstör sidan lika mycket som highlight_page() och show_source()....

:-/

:i nåja jag får väl en snilleblixt sen nån dag! :-)

ThACRoWMedlem sedan dec. 2001314 inlägg
#15

highlight_string() funkar visst. Det är bara det att <? och ?> måste finnas med i strängen för att den ska highlighta.

Sen för att bli av med den där 1:an som kommer ut, så ska du låta bli att använda print eller echo på funktionen. Gör bara

<? highlight_string ( $string ); ?>
Fredde MannenMedlem sedan nov. 20014 054 inlägg
#16

Thanks!

Tackar!

Vi får väl hoppas att det blir som tänkt!! :-)

// Mvh Fredde Mannen!

FlashXMedlem sedan nov. 19991 033 inlägg
#17

För informationens skull så kan nämnas att webForum använder funktionen highlight_string().

ThACRoWMedlem sedan dec. 2001314 inlägg
#18

Tänkte jag skulle dela med mig en kod som jag hittat bland kommentarerna på php.net (jag har modifierat lite granna så att den funkar som wF's funktion):

function highlightPHP( $string )
	{
		if ( strpos( $string, '<?' ) === FALSE )
		{
			ob_start();
			highlight_string( '<?'. $string .'?>' );
			$colorString = ob_get_contents();
			ob_end_clean();

			$pos1 = strpos( $colorString, '&lt;?' );
			$pos2 = strrpos( $colorString, '?&gt;' );

			$string = substr( $colorString, 0, $pos1 ) . substr($colorString, $pos1+5, $pos2-($pos1+5)) . substr( $colorString, $pos2+5 );
			return $string;
		}
		else
		{
			ob_start();
			highlight_string( $string );
			$string = ob_get_contents();
			ob_end_clean();
			return $string;
		}
	}

Om man inte skriver in <? och ?> så kommer den highlight:a i alla fall; highlight_string() gör inte detta.

Fredde MannenMedlem sedan nov. 20014 054 inlägg
#19

Jag förstår mig absolut inte på detta...

Tackar för detta!

function highlightPHP( $string )
	{
		if ( strpos( $string, '<?' ) === FALSE )
		{
			ob_start();
			highlight_string( '<?'. $string .'?>' );
			$colorString = ob_get_contents();
			ob_end_clean();

			$pos1 = strpos( $colorString, '&lt;?' );
			$pos2 = strrpos( $colorString, '?&gt;' );

			$string = substr( $colorString, 0, $pos1 ) . substr($colorString, $pos1+5, $pos2-($pos1+5)) . substr( $colorString, $pos2+5 );
			return $string;
		}
		else
		{
			ob_start();
			highlight_string( $string );
			$string = ob_get_contents();
			ob_end_clean();
			return $string;
		}
	}

Okey! Men det här med highlight_string() utan att använda echo funkade till visst del men fick ingen färg, och så sabba den hela inlägget, hade tänkt mig att den ska färg lägga den php-kod som jag stoppar mellan min egna taggar typ.

::php::

::php-end::

Men sicken hela inlägget fick den fina lokken av Courier utan färger! :P

" :birp , nu ska jag spela bingolotto! "

Mvh. Fredde Mannen!

136 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)