[php] xml tag uitschakelen in één document

Pagina: 1
Acties:
  • 220 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • gomaster
  • Registratie: Februari 2002
  • Laatst online: 17-09 17:39
hallo,

Ik ben aan een startpagina voor mezelf bezig en ik heb een probleem. Ik heb een stukje php ertussen staan om het weer in te lezen. Verder wil ik ook de nu.nl tracker, en dat is een xml parser in js geschreven. Daar komen ook de <? en ?> xml tags in voor. Maar de php parser ziet dat aan voor php. Hoe kan ik ze even tijdelijk uitschakelen in dit ene document? Zodat ik alleen nog kan openen met <?php voor het php script.

Acties:
  • 0 Henk 'm!

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
override je php.ini middels een .htaccess

Acties:
  • 0 Henk 'm!

  • gomaster
  • Registratie: Februari 2002
  • Laatst online: 17-09 17:39
HunterPro schreef op 26 February 2003 @ 12:54:
override je php.ini middels een .htaccess
hoe doe ik dat dan?

Acties:
  • 0 Henk 'm!

Verwijderd

zo:
PHP:
1
2
3
<?php
ini_set('short_open_tag',0);
?>

Acties:
  • 0 Henk 'm!

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

drm

f0pc0dert

Euhm, je moet toch gewoon zorgen dat die pagina niet door PHP geparsed wordt :? Waarom wordt 't door PHP geparsed? omdat 't bestand een .php extensie heeft :? Rename 'm dan gewoon ... Je moet iets geen .php noemen als het dat niet is...

't ontgaat mij een beetje wat hier nou 't probleem aan is.

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


Acties:
  • 0 Henk 'm!

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09 23:18

djc

Verwijderd schreef op 26 February 2003 @ 13:42:
zo:
PHP:
1
2
3
<?php
ini_set('short_open_tag',0);
?>
Nuttig... Dan gaat ie even parsen en weet ie daarna dat ie het parse-gedrag moet veranderen. |:(

Rustacean


Acties:
  • 0 Henk 'm!

  • gomaster
  • Registratie: Februari 2002
  • Laatst online: 17-09 17:39
drm schreef op 26 februari 2003 @ 14:25:
Euhm, je moet toch gewoon zorgen dat die pagina niet door PHP geparsed wordt :? Waarom wordt 't door PHP geparsed? omdat 't bestand een .php extensie heeft :? Rename 'm dan gewoon ... Je moet iets geen .php noemen als het dat niet is...

't ontgaat mij een beetje wat hier nou 't probleem aan is.
Er moet wel degelijk iets door PHP geparsed worden, namelijk mijn weer dat die weet uit een db trekt. Het probleem was dat PHP iets wilde parsen wat XML was.

Acties:
  • 0 Henk 'm!

  • gomaster
  • Registratie: Februari 2002
  • Laatst online: 17-09 17:39
Verwijderd schreef op 26 February 2003 @ 13:42:
zo:
PHP:
1
2
3
<?php
ini_set('short_open_tag',0);
?>
het gebeurd nog steeds. Helaas helpt dit dus niet.

Acties:
  • 0 Henk 'm!

Verwijderd

gomaster schreef op 26 februari 2003 @ 15:43:
[...]

het gebeurd nog steeds. Helaas helpt dit dus niet.
probeer dan eens het volgende;

PHP:
1
2
3
4
5
6
<?php 
ini_set('short_open_tag',false); 
//of
ini_set('short_open_tag',Off); 

?> 

Acties:
  • 0 Henk 'm!

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

drm

f0pc0dert

supercow:
probeer dan eens het volgende;

PHP:
1
2
3
4
5
6
<?php 
ini_set('short_open_tag',false); 
//of
ini_set('short_open_tag',Off); 

?> 

PHP.net manual: / short_open_tag zegt:
short_open_tag is changable volgens de flags PHP_INI_SYSTEM en PHP_INI_PERDIR
Hetgeen betekent:
volgens PHP.net / How to change configuration directives / Other interfaces to PHP
PHP_INI_USER Entry can be set in user scripts
PHP_INI_PERDIR Entry can be set in php.ini, .htaccess or httpd.conf
PHP_INI_SYSTEM Entry can be set in php.ini or httpd.conf
PHP_INI_ALL Entry can be set anywhere
Kortom: vanuit je PHP scripts kun je die aanpassing dus niet maken.

Verder is Off geen gedefinieerde constante, en krijg je dus een Notice (als je met error_reportig op E_ALL code, wat zou horen) die verteld dat je ongedefinieerde constanten gebruikt, die "geconverteerd" worden naar strings. (constant Off is not defined, 'Off' is assumed, o.i.d.)

in je .htaccess dus wel, dus gomaster: neem de volgende regel op in de .htaccess:
code:
1
php_value short_open_tag false
, of zorg op een andere manier (evt. met templates, of readfile () o.i.d.) dat je de xml-directives niet met php code hoeft te kludgen.

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


Acties:
  • 0 Henk 'm!

Verwijderd

Ok ik heb niks gezegd :X

(zelf ook nog nooit geprobeerd, ging er vanuit dat het kon, zal het voortaan eerst ff testen :D )

Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 17-09 14:05

.oisyn

Moderator Devschuur®

Demotivational Speaker

PHP:
1
<?= "<" . "?" ?>
werkt natuurlijk ook altijd nog :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

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

drm

f0pc0dert

.oisyn schreef op 26 februari 2003 @ 17:37:
PHP:
1
<?= "<" . "?" ?>
werkt natuurlijk ook altijd nog :)

Sterker nog, <? in een string is ook geen probleem, dus zo'n rare concat-workaround is ook niet nodig :)
PHP:
1
<?="<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"?>
gebruik ik meestal. 't Is niet de netste code, maar ach, ik ben ook alleen maar van de nette code als 't mezelf uitkomt :P

Dat ik dubbele quotes gebruik is voor de newline :)

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


  • gomaster
  • Registratie: Februari 2002
  • Laatst online: 17-09 17:39
Bedankt voor alle tips. Eerst probeerde ik de .htaccess manier maar die werkte helaas niet. Toen heb ik drm's manier gebruikt die van:
PHP:
1
<?="<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"?> 

En dat werkt uitstekend :). Jongens bedankt allemaal :)
Dus voor de volgende met dit probleem gebruik de manier van drm.
Pagina: 1