Simon Lloyd
02-24-2009, 10:02 AM
Hi all,
I'm new here, i have very little php or html experience (i have owned a vbulletin forum since August) but i am learning fast and can perform whatever i am instructed to.
What i would like to do is change keywords found in the # code tags box, so instead of this:
Sub change()
for each r in range
if r = 0 then
msgbox "hello"
if r = 1 then
msgbox "goodbye"
end if
end if
next
end sub
i would like it to look like this:
Sub change()
For Each r In Range
>>>If r = 0 Then
>>>>>Msgbox "hello"
>>>>>>If r = 1 Then
'Show a message to the user
>>>>>>>>Msgbox "goodbye"
>>>>>>End If
>>>End If
Next
End Sub Of course the above would be without the white chevrons, i had to use them to indent the code.
Here are my lists:
$bodykeywords=array("Application","AddressOf","Alias","And","Any","As","Binary","Boolean","ByRef",
"Byte","ByVal","Call","Case","CBool","CByte","CCur","CDate","CDbl","CInt","CLng","Close","Const",
"CSng","CStr","Currency","CVar","CVErr","Date","Debug","Declare","DefBool","DefByte","DefCur",
"DefDate","DefDbl","DefInt","DefLng","DefObj","DefSng","DefStr","DefVar","Dim","Do","Double"
,"Each","Else","End","Enum","Eqv","Erase","Error","Event","Exit","For","Friend","Function","Get",
"Global","GoSub","GoTo","If","Imp","Implements","In","Input","Integer","Is","LBound","Len","Let",
"Lib","Like","Line","Lock","Long","Loop","LSet","Mod","Msgbox","Name","New","Next","Not","Nothing",
"Null","Object","On","On Error Resume Next","Open","Option Base 1","Option Compare Binary",
"Option Compare Database","Option Compare Text","Option Explicit","Option Private Module","Optional","Or","Output","ParamArray","Preserve","Print","Private","Property","Public","Put",
"RaiseEvent","Random","Read","ReDim","Resume","Return","RSet","Seek","Select","Set","Single","Spc",
"Static","Step","Stop","String","Sub","Tab","Then","To","Type","UBound","Unlock","Variant","Wend","While"
"With","WithEvents","Write","Xor");
$indentkeywords = array("Then","Do","For Each","For","Else" "ElseIf","Do","Select Case","Case");
$unindentkeywords=array("End","Next","Else","ElseIf","End If","End Select","End Sub","Wend","Loop","Case Else","Case");
All the above keywords when found inside the code tags should be blue, any text found on the same line after ' should be green.
The indent keywords should indent like my second example only returning to the begining of a line if an unindent keyword is found or only indenting another line when another indent keyword is found.
If any keywords are found between quotes " then that text should remain black.
I have installed GeSHi which highlights the code if i use a custom tag but it doesn't indent or replace the words for the words in the list (proper case).
Is this possible with php, javascript and or CSS?
Kind regards,
Simon
I'm new here, i have very little php or html experience (i have owned a vbulletin forum since August) but i am learning fast and can perform whatever i am instructed to.
What i would like to do is change keywords found in the # code tags box, so instead of this:
Sub change()
for each r in range
if r = 0 then
msgbox "hello"
if r = 1 then
msgbox "goodbye"
end if
end if
next
end sub
i would like it to look like this:
Sub change()
For Each r In Range
>>>If r = 0 Then
>>>>>Msgbox "hello"
>>>>>>If r = 1 Then
'Show a message to the user
>>>>>>>>Msgbox "goodbye"
>>>>>>End If
>>>End If
Next
End Sub Of course the above would be without the white chevrons, i had to use them to indent the code.
Here are my lists:
$bodykeywords=array("Application","AddressOf","Alias","And","Any","As","Binary","Boolean","ByRef",
"Byte","ByVal","Call","Case","CBool","CByte","CCur","CDate","CDbl","CInt","CLng","Close","Const",
"CSng","CStr","Currency","CVar","CVErr","Date","Debug","Declare","DefBool","DefByte","DefCur",
"DefDate","DefDbl","DefInt","DefLng","DefObj","DefSng","DefStr","DefVar","Dim","Do","Double"
,"Each","Else","End","Enum","Eqv","Erase","Error","Event","Exit","For","Friend","Function","Get",
"Global","GoSub","GoTo","If","Imp","Implements","In","Input","Integer","Is","LBound","Len","Let",
"Lib","Like","Line","Lock","Long","Loop","LSet","Mod","Msgbox","Name","New","Next","Not","Nothing",
"Null","Object","On","On Error Resume Next","Open","Option Base 1","Option Compare Binary",
"Option Compare Database","Option Compare Text","Option Explicit","Option Private Module","Optional","Or","Output","ParamArray","Preserve","Print","Private","Property","Public","Put",
"RaiseEvent","Random","Read","ReDim","Resume","Return","RSet","Seek","Select","Set","Single","Spc",
"Static","Step","Stop","String","Sub","Tab","Then","To","Type","UBound","Unlock","Variant","Wend","While"
"With","WithEvents","Write","Xor");
$indentkeywords = array("Then","Do","For Each","For","Else" "ElseIf","Do","Select Case","Case");
$unindentkeywords=array("End","Next","Else","ElseIf","End If","End Select","End Sub","Wend","Loop","Case Else","Case");
All the above keywords when found inside the code tags should be blue, any text found on the same line after ' should be green.
The indent keywords should indent like my second example only returning to the begining of a line if an unindent keyword is found or only indenting another line when another indent keyword is found.
If any keywords are found between quotes " then that text should remain black.
I have installed GeSHi which highlights the code if i use a custom tag but it doesn't indent or replace the words for the words in the list (proper case).
Is this possible with php, javascript and or CSS?
Kind regards,
Simon