14. december 2003 - 07:01
Der er
12 kommentarer og 1 løsning
highlight VB/ASP
Jeg kunne godt bruge en funktion som highlight_string(), den skal bare virke til VB/ASP kode. Jeg har en som er lavet til asp og jeg har prøvet med noget ASP2PHP conv.. men den virker altså ikke helt som den skal :( Så hvis i kan hjælpe / lave et script som kan det :-) Altså: En funktion som kan tjekke nogle bestemte ord.. og lave dem om med <font color.... osv..
Annonceindlæg fra Lector
14. december 2003 - 07:08
#1
Hvis i skal bruge nogle VB syntax: $gsBlueKeyWords = "#Const,#Else,#ElseIf,#End If,#If,Alias,Alias,And,As,Base,Binary,Boolean,Byte,ByVal,Call,Case,CBool,CByte,CCur,CDate,CDbl,CDec,CInt,CLng,Close,Compare,Const,CSng,CStr,Currency,CVar,CVErr,Decimal,Declare,DefBool,DefByte,DefCur,DefDate,DefDbl,DefDec,DefInt,DefLng,DefObj,DefSng,DefStr,DefVar,Dim,Do,Double,Each,Else,ElseIf,End,Enum,Eqv,Erase,Error,Exit,Explicit,False,For,Function,Get,Global,GoSub,GoTo,If,Imp,In,Input,Input,Integer,Is,LBound,Let,Lib,Like,Line,Lock,Long,Loop,LSet,Name,New,Next,Not,Object,On,Open,Option,Or,Output,Print,Private,Property,Public,Put,Random,Read,ReDim,Resume,Return,RSet,Seek,Select,Set,Single,Spc,Static,String,Stop,Sub,Tab,Then,True,Type,UBound,Unlock,Variant,Wend,While,With,Xor,Nothing,To"; $gsGreenComments = "'";
14. december 2003 - 07:17
#2
glemt lige at sige gsGreenComments afsluttes men nylinje, Hvis ikke der står _ fx. 'kommentar tekst 1 _ kommentar tekst 2 skutter først her.
14. december 2003 - 12:28
#3
Det er vidst ikke så enkelt endda. Jeg prøvede med: $find = explode(",", $gsBlueKeyWords); foreach ($find as $item) { $erstat[] = "<span style='color: #CC0000'>".$item."</span>"; } $new_str = str_replace($find, $erstat, $gsBlueKeyWords); echo $new_str; men det giver problemer med fx: 'Do' og 'Double', da den erstatter 'Do' i 'Double'.
14. december 2003 - 13:53
#4
Måske hvis du får rettet '$pat' til i den her (er ikke så ferm til regexp): $arr = explode(",", $gsBlueKeyWords); foreach ($arr as $item) { $pat = "|($item)|"; $gsBlueKeyWords = preg_replace($pat, "<span style='color: #CC0000'>\\1</span>", $gsBlueKeyWords); } echo $gsBlueKeyWords;
14. december 2003 - 14:44
#5
Eller hvis man ændrer rækkefølgen af ordene: <? $gsBlueKeyWords = "#Const,#Else,#ElseIf,#End If,#If,Alias,Alias,And,As,Base,Binary,Boolean,CByte, ByVal,Call,Case,CBool,DefByte,CCur,CDate,CDbl,CDec,CInt,CLng,Close,Compare,Const,CSng,CStr, Currency,CVar,CVErr,Decimal,Declare,DefBool,Byte,DefCur,DefDate,DefDbl,DefDec,DefInt, DefLng,DefObj,DefSng,DefStr,DefVar,ReDim,Double,Do,Each,Else,ElseIf,End,Enum,Eqv,Erase,Error, Exit,Explicit,False,For,Function,Get,Global,GoSub,GoTo,If,Imp,Input,Integer,In,Is, LBound,Let,Lib,Like,Line,Lock,Long,Loop,LSet,Name,New,Next,Nothing,Object,On,Open,Option,Or, Output,Print,Private,Property,Public,Put,Random,Read,Dim,Resume,Return,RSet,Seek,Select, Set,Single,Spc,Static,String,Stop,Sub,Tab,Then,True,Type,UBound,Unlock,Variant,Wend,While, With,Xor,Not,To"; $arr = explode(",", $gsBlueKeyWords); foreach ($arr as $item) { $pat = "|($item)|"; $gsBlueKeyWords = preg_replace($pat, "<span style='color: #CC0000'>\\1</span>", $gsBlueKeyWords); } echo $gsBlueKeyWords; ?>
14. december 2003 - 18:22
#6
øø hvor kan $vbcode ind??? <body> <html> <?php echo $vbcode;?> <? $gsBlueKeyWords = "#Const,#Else,#ElseIf,#End If,#If,Alias,Alias,And,As,Base,Binary,Boolean,CByte, ByVal,Call,Case,CBool,DefByte,CCur,CDate,CDbl,CDec,CInt,CLng,Close,Compare,Const,CSng,CStr, Currency,CVar,CVErr,Decimal,Declare,DefBool,Byte,DefCur,DefDate,DefDbl,DefDec,DefInt, DefLng,DefObj,DefSng,DefStr,DefVar,ReDim,Double,Do,Each,Else,ElseIf,End,Enum,Eqv,Erase,Error, Exit,Explicit,False,For,Function,Get,Global,GoSub,GoTo,If,Imp,Input,Integer,In,Is, LBound,Let,Lib,Like,Line,Lock,Long,Loop,LSet,Name,New,Next,Nothing,Object,On,Open,Option,Or, Output,Print,Private,Property,Public,Put,Random,Read,Dim,Resume,Return,RSet,Seek,Select, Set,Single,Spc,Static,String,Stop,Sub,Tab,Then,True,Type,UBound,Unlock,Variant,Wend,While, With,Xor,Not,To"; $arr = explode(",", $gsBlueKeyWords); foreach ($arr as $item) { $pat = "|($item)|"; $gsBlueKeyWords = preg_replace($pat, "<span style='color: #CC0000'>\\1</span>", $gsBlueKeyWords); } echo $gsBlueKeyWords; ?> <form name="code" method="post" action="index.php"> <textarea name="vbcode" rows="8" cols="45" class="textarea"> Sub Main() 'kommentar tekst 1 _ kommentar tekst 2 skutter først her. End Sub </textarea><br> <input type="submit" name="submit" value="submit"> </form> </body> </html>
17. december 2003 - 14:16
#7
detox < Kunne du ikke lige hjælpe mig med det sidste.. og lægge et svar.. (øø hvor kan $vbcode ind???)
18. december 2003 - 00:55
#8
Hmmm, det er som jeg sagde ikke så enkelt endda, det kræver nok noget mere tilpasning af den regexp, så den kun tager hele ord. Problemet er stadig at den finder 'Do' i 'Double' o.l. Og mht. kommentarerne har jeg slet ikke taget dem med. Da jeg ikke er så skrap til regexp, må du nok høre om der er en anden, der kan hjælpe med den.
18. december 2003 - 10:38
#9
ellers prøver jeg en anden løsning.. smid er svar.. jeg vil godt give din 30 point for din hjælp :-)
18. december 2003 - 10:38
#10
give din 30 point = give dig 30 point
21. december 2003 - 22:01
#11
når men så tager jeg selv de 30 point
22. december 2003 - 12:35
#12
Bare i orden, håber du får det løst ;o)
22. december 2003 - 13:15
#13
Tak jeg har fået lavet det med ASP2PHP conv.. jeg ville bare høre om der måske ikke vare en beder/funktion som kunne det.. :-)
Vi tilbyder markedets bedste kurser inden for webudvikling