[php] Tidy extensies

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • klokop
  • Registratie: Juli 2001
  • Laatst online: 16-09 19:21

klokop

swiekie swoeng

Topicstarter
Ik probeer mijn door PHP uitgespuugde code wat netter te maken met
de PHP tidy_* extensies.

Nou loop ik tegen wat problemen aan:
onderstaande stuk HTML:
PHP:
1
2
3
4
5
6
7
8
9
<table>
  <form action="?q=menu/edit/post/123" method="post" name="editMenuForm">
  <tr>
    <td>23</td>
    <td><input type="text" name="menu_title" value="blaaaaaaa"></td>
    <td><input type="submit" name="go" value="go"></td>
  <tr>
  </form>
</table>


ziet er zo uit nadat het door tidy gehaald is:
PHP:
1
2
3
4
5
6
7
8
9
10
11
<table>
  <tr>
    <td>
      <form action="?q=menu/edit/post/123" method="post" name="editMenuForm">
        23
      </form>
    </td>
    <td><input type="text" name="menu_title" value="blaaaaaaa"></td>
    <td><input type="submit" name="go" value="go"></td>
  <tr>
</table>


Oftewel: de form tag is op een niet geheel door mij gewenste wijze aangepast.


Deel van de code om PHP output buffer door de tidy functies te halen:
PHP:
1
2
3
$buffer = tidy_repair_string($buffer);
tidy_clean_repair($buffer);
return $buffer;


Mijn 'tidy.conf' (zie voor mogelijke opties)
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
break-before-br: yes
#drop-empty-paras:  yes
#input-xml: no
new-blocklevel-tags: form, select, option
#numeric-entities: yes
output-xml: no
show-body-only: no
uppercase-tags: no
uppercase-attributes: no
#show-warnings: yes
indent: auto
indent-spaces: 2
markup: yes
wrap-attributes: no
wrap: 0


Is er wellicht een configuratie optie om het euvel op te lossen?

"Passing silhouettes of strange illuminated mannequins"


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 19:49

thomaske

» » » » » »

je moet je form element buiten je tabel zetten. (als je dan last hebt van een extra witregel, zet je je display-style op 'inline')

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?
<form action="?q=menu/edit/post/123" method="post" name="editMenuForm" 
style="display:inline;"> 
<table> 
  <tr> 
    <td>23</td> 
    <td><input type="text" name="menu_title" value="blaaaaaaa"></td> 
    <td><input type="submit" name="go" value="go"></td> 
  <tr> 
</table>
</form> 
?>

[ Voor 113% gewijzigd door thomaske op 15-03-2004 21:50 ]

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

  • klokop
  • Registratie: Juli 2001
  • Laatst online: 16-09 19:21

klokop

swiekie swoeng

Topicstarter
Tsja, dat zal allemaal wel volgens HTML4.01 - strict, maar daar trek ik me het liefst niets van aan (van het meeste wel hoor, alleen niet dat een form element niet tussen een tr en een td zou mogen staan. ik vind dat onzin).
Ik vraag me af of Tidy niet met een of andere optie op andere gedachten te brengen is. Maar als die er niet is, ja, dan houdt het op, en zal ik me aan html4.01 moeten gaan houden...

"Passing silhouettes of strange illuminated mannequins"


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

Het heeft een reden hoor.. dus vreemd dat jij dat onzin vindt... Als je het probleem op wilt lossen dat een form-tag een block-element is, zet het dan gewoon op display:inline.

Een tr heeft nu eenmaal geen andere content dan td's en consorten.

[ Voor 17% gewijzigd door Bosmonster op 15-03-2004 22:54 ]


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Bosmonster schreef op 15 maart 2004 @ 22:53:
Het heeft een reden hoor.. dus vreemd dat jij dat onzin vindt... Als je het probleem op wilt lossen dat een form-tag een block-element is, zet het dan gewoon op display:inline.

Een tr heeft nu eenmaal geen andere content dan td's en consorten.
Je form display:inline geven en er vervolgens weer blocklevel-elementen of tables in gaan stoppen vind ik nou ook niet echt geweldig; ik zou gaan voor een margin:0px ;)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

klokop:
Tsja, dat zal allemaal wel volgens HTML4.01 - strict, maar daar trek ik me het liefst niets van aan (van het meeste wel hoor, alleen niet dat een form element niet tussen een tr en een td zou mogen staan. ik vind dat onzin).
Waarom in vredesnaam? :D

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

(jarig!)
Betere vraag: Waarom gebruik je een tidier als je vervolgens vindt dat het onzin is om html4.01 - strict te werken? :P

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

ACM schreef op 15 maart 2004 @ 23:46:
Betere vraag: Waarom gebruik je een tidier als je vervolgens vindt dat het onzin is om html4.01 - strict te werken? :P
Sterker nog; een form-tag tussen table en tr valideert in geen enkele standaard, ook niet in transitional. Dat was trouwens 1 van de eerste dingen die ik aangepast heb in de GoT Templates vorig jaar ;)

Dat zijn gewoon typisch van die truukjes die je 8 jaar geleden moest gebruiken omdat toen nog niet alle browsers CSS1 goed ondersteunden.

[ Voor 15% gewijzigd door crisp op 16-03-2004 07:26 ]

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • klokop
  • Registratie: Juli 2001
  • Laatst online: 16-09 19:21

klokop

swiekie swoeng

Topicstarter
Hmm. Ik wilde geen oorlog beginnen over HTML en het al dan niet correct toepassen daarvan :). Ik wilde alleen weten of je Tidy custom opties kon meegeven, of de boel zou kunnen valideren als niet-HTML4.01-strict.
(Overigens geef ik een form element altijd margin:0 en padding:0 mee, om die irritante whitespaces te voorkomen.)

"Passing silhouettes of strange illuminated mannequins"


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

crisp schreef op 15 maart 2004 @ 23:11:
[...]

Je form display:inline geven en er vervolgens weer blocklevel-elementen of tables in gaan stoppen vind ik nou ook niet echt geweldig; ik zou gaan voor een margin:0px ;)
Ok :)
(Overigens geef ik een form element altijd margin:0 en padding:0 mee, om die irritante whitespaces te voorkomen.)
Waarom zou je dan je form-tag nog tussen table/tr willen plaatsen? En waarom zou je willen valideren met regels die je zelf kunt verzinnen/aanpassen? Schiet toch niet echt op dan? Je wilt valideren aan NIET-html :?

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
Waarom zou je dan je form-tag nog tussen table/tr willen plaatsen? En waarom zou je willen valideren met regels die je zelf kunt verzinnen/aanpassen? Schiet toch niet echt op dan? Je wilt valideren aan NIET-html
Voor nieuwe pagina's die je maakt is het advies natuurlijk valid maken maar het kan heel veel werk zijn om alle oude pagina's te veranderen.

Acties:
  • 0 Henk 'm!

  • klokop
  • Registratie: Juli 2001
  • Laatst online: 16-09 19:21

klokop

swiekie swoeng

Topicstarter
Bosmonster schreef op 16 maart 2004 @ 09:29:
Waarom zou je dan je form-tag nog tussen table/tr willen plaatsen? En waarom zou je willen valideren met regels die je zelf kunt verzinnen/aanpassen? Schiet toch niet echt op dan? Je wilt valideren aan NIET-html :?
Tsja... weet ik eigelijk ook niet :| . Oude gewoonte, en lastig er vanaf te stappen...

"Passing silhouettes of strange illuminated mannequins"


Acties:
  • 0 Henk 'm!

  • js303
  • Registratie: April 2003
  • Laatst online: 01-06 10:17
ja ik zou een tabel met diens tr's en td's als 1 geheel stuk beschouwen, dus daaromheen je form tags plaatsen; enkel als je binneneen tabel meerdere forms zou willen zet je die forms tussen je td tags.

[ Voor 20% gewijzigd door js303 op 16-03-2004 14:32 ]

Pagina: 1