[PHP XML] Ampersand omzetten

Pagina: 1
Acties:

  • lost95
  • Registratie: Januari 2000
  • Laatst online: 12:24
Situatie:

Ik trek wat gegevens uit een db, zet er xmltags omheen en schrijf ze naar een xmlbestand. Dat werkt...totdat er een & in een variabele zit (in mijn geval: Operating Systems & Software). En dan worden de gegevens niet meer naar het bestand geschreven. Nou is & geen officiel XMLteken (dacht ik) en wil ik dat dus laten vervangen door &. Als ik dat als volgt doe werkt het:
code:
1
2
3
4
5
<?
$test = "probeer&test";
$new = htmlspecialchars($test, ENT_QUOTES);
print "$new";
?>

Het probleem is echter dat de gegevens dus uit een database komen. en dan dacht ik dat het zou zou moeten worden:
code:
1
2
3
4
<?
$new = htmlspecialchars(" . $row["name"] . ", ENT_QUOTES);
print "$new";
?>

Maar dan krijg ik de volgende melding:
code:
1
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\phpdev3\www\xml\test.php on line 7

Mijn vraag: Hoe los ik dit op?

Vooral sinaasappels zijn bang voor persvrijheid.


Verwijderd

PHP:
1
2
3
4
<?
$new = htmlspecialchars($row["name"], ENT_QUOTES);
print "$new";
?>

Dit moet werken?

  • jelmervos
  • Registratie: Oktober 2000
  • Niet online

jelmervos

Simple user

Volgens mij komt dit aardig in de richting:
PHP:
1
2
3
4
5
6
7
8
9
10
<?
function StrToXML($str) {
    $result = $str;
    $result = str_replace("&amp;", "&amp;amp;", $result);
    $result = str_replace("<", "&amp;lt;", $result);
    $result = str_replace(">", "&amp;gt;", $result);
    $result = trim($result);
    return $result;
}
?>

"The shell stopped unexpectedly and Explorer.exe was restarted."


  • lost95
  • Registratie: Januari 2000
  • Laatst online: 12:24
Op zondag 13 januari 2002 17:54 schreef WilcoB het volgende:
PHP:
1
2
3
4
<?
$new = htmlspecialchars($row["name"], ENT_QUOTES);
print "$new";
?>

Dit moet werken?
Tss, stom van me. Maar dit werkt inderdaad, thnx.

Vooral sinaasappels zijn bang voor persvrijheid.


  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 15-09 23:45
Waarom werk je niet met domxml? Daarmee kan je gewoon een compleet document opbouwen en worden meteen alle speciale tekens ge-escaped als je ze toevoegd.

Een ander voordeel is dat je er meteen zeker van bent dat de xml aan het eind ook echte valid xml is.