Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Bug] PHP-code afsluiten na comment gaat fout

Pagina: 1
Acties:
  • 27 views sinds 30-01-2008

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Topicstarter
Daar ben ik weer. :+

Zie [rml][ PHP]dropdown php script laten activeren[/rml]. Om het even te reproduceren:
PHP:
1
2
3
4
5
<html>
  <head>
    <title><?php echo $title; //titel afdrukken ?></title>
  </head>
</html>

Ik neem aan dat ik niet hoef uit te leggen wat hier misgaat en waarom? :+

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • OnTracK
  • Registratie: Oktober 2002
  • Laatst online: 16:54
Zou dat goed moeten gaan in het echt dan? :X Als je inline comments wil dan gebruik je het toch zo:
PHP:
1
2
3
4
5
<html> 
  <head> 
    <title><?php echo $title; /*titel afdrukken */?></title> 
  </head> 
</html>


Niet dat ik echt uitgebreide kennis van PHP heb ofzo, maar het lijkt me een enorm ranzige manier van commenten...
Textpad pakt jouw manier ook niet

[ Voor 125% gewijzigd door OnTracK op 18-04-2006 19:38 ]

Not everybody wins, and certainly not everybody wins all the time.
But once you get into your boat, push off and tie into your shoes.
Then you have indeed won far more than those who have never tried.


  • We Are Borg
  • Registratie: April 2000
  • Laatst online: 16:58

We Are Borg

Moderator Wonen & Mobiliteit / General Chat
allebei kan/mag en dus zou de manier van -NMe- moeten werken :)

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

Ja, dat gaat goed. PHP ziet gewoon een T_CLOSE_TAG staan.

Zelfs mijn highlighter doet het goed. :P

Sole survivor of the Chicxulub asteroid impact.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Topicstarter
OnTracK schreef op dinsdag 18 april 2006 @ 19:35:
Niet dat ik echt uitgebreide kennis van PHP heb ofzo, maar het lijkt me een enorm ranzige manier van commenten...
Ik heb nooit gezegd dat het een goeie manier van commenten was, maar het moet wel mogelijk zijn. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

-NMe- schreef op dinsdag 18 april 2006 @ 17:15:
Ik neem aan dat ik niet hoef uit te leggen wat hier misgaat en waarom? :+
Nou, eigenlijk wel, waarom kom je nu pas achter die bug? :| OMDAT JE LUI BENT(tm) Hans Teeuwen

Anyways, lokaal fix0rds, zie beta :P

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

motootje:
code:
1
(#|\/\/)[^">?]*

dus er zijn helemaal geen ?, > of " meer toegestaan in single-line comments? ;(

overigens heb ik het zelf ook nog niet weten te fixen; look-ahead assertions kent Flex niet, en iets triviaals als \?(?!>) is niet te herschreven naar iets zonder look-ahead.
Ik dacht dus meer in deze richting:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
(#|\/\/)        {
                yymore();
                yy_push_state(COMMENTLINE);
            }

<COMMENTLINE>
{
    <<EOF>>     {
                token (TOKEN_COMMENT, YYText (), 0, 1);
                yyterminate();
            }
    {phpclose}  {
                yyless(YYLeng() - 2);
                token (TOKEN_COMMENT, YYText (), 0, 1);
                yy_pop_state();
            }
    \n      {
                yyless(YYLeng() - 1);
                token (TOKEN_COMMENT, YYText (), 0, 1);
                yy_pop_state();
            }
    .       yymore();
}

enkel lijkt op de <<EOF>> match YYText () ineens leeg te zijn :(

[ Voor 80% gewijzigd door crisp op 18-04-2006 23:50 ]

Intentionally left blank


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Hmm, daar mist een dubbele quote ?
code:
1
2
3
(#|\/\/)[^"?>"]*         {
                                token (TOKEN_COMMENT, YYText (), 0, 1);
                        }

Moet wel werken lijkt me ?
edit:
Hmmm, blijkbaar niet... Dan zal het i.d.d. met die states moeten :X


[edit]
Zo te zien doet jouw probeersel het prima als ik dat hele rare EOF gedeelte weglaat ? :P, zie tc@beta..

[ Voor 37% gewijzigd door moto-moi op 19-04-2006 01:38 ]

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Topicstarter
[^"?>"] werkt niet omdat dit een character class is waarin je elk karakter behalve ", ? en > wil kunnen matchen. Buiten een character class dingen ontkennen kan alleen met assertions, en binnen een character class heb je er niet veel aan omdat dan al stopt met matchen bij één van de karakters in die class. En dus blijven inderdaad die states over. :P

Niet dat ik verder wat zinnigs te melden heb, maar een licht educatieve post mag ook in BUG wel, toch? O-)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Mjah, ik had eigenlijk verwacht dat je in []'s wel een letterlijke string zou mogen zetten die flex dan als 1 token pakt, blijkbaar niet :P

God, root, what is difference? | Talga Vassternich | IBM zuigt


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Nu wel fixed @ beta met een simpele strstr() check ;)

[ Voor 7% gewijzigd door crisp op 19-04-2006 11:02 ]

Intentionally left blank


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

-NMe- schreef op dinsdag 18 april 2006 @ 17:15:
Daar ben ik weer. :+

Zie [rml][ PHP]dropdown php script laten activeren[/rml]. Om het even te reproduceren:
PHP:
1
2
3
4
5
<html>
  <head>
    <title><?php echo $title; //titel afdrukken ?></title>
  </head>
</html>

Ik neem aan dat ik niet hoef uit te leggen wat hier misgaat en waarom? :+
Ik zie niks bijzonders O-)

God, root, what is difference? | Talga Vassternich | IBM zuigt

Pagina: 1

Dit topic is gesloten.