SunshinePHP 2019

XMLWriter::text

xmlwriter_text

(PHP 5 >= 5.1.2, PHP 7, PECL xmlwriter >= 0.1.0)

XMLWriter::text -- xmlwriter_textWrite text

Description

Object oriented style

bool XMLWriter::text ( string $content )

Procedural style

bool xmlwriter_text ( resource $xmlwriter , string $content )

Writes a text.

Parameters

xmlwriter

Only for procedural calls. The XMLWriter resource that is being modified. This resource comes from a call to xmlwriter_open_uri() or xmlwriter_open_memory().

content

The contents of the text.

Return Values

Returns TRUE on success or FALSE on failure.

add a note add a note

User Contributed Notes 3 notes

up
0
luku at example dot com
5 months ago
Corrected previous comment!
Note that $content is automatically sanitized/escaped:
> into >
< into &lt;
& into &amp;
" into &quot;
However, single quotes stay unescaped! This is major drawback, if you're creating sitemaps. To fix that and to prevent double escaping, you will need to use XMLWriter::writeRaw or extend the XMLWriter class and escape the content yourself with i.e.
<?php
$content
= htmlspecialchars($content, ENT_QUOTES | ENT_XML1, 'UTF-8');
?>
XMLWriter::text or XMLWriter::writeElement would double escape &apos; and result in &amp;apos;
up
-1
luku at example dot com
5 months ago
Note that $content is automatically sanitized/escaped:
> into &gt;
< into &lt;
& into &amp;
" into &quot;
However, single quotes stay unescaped! This is major drawback, if you're creating sitemaps. You need to escape ' into &apos; before passing it to XMLWriter::text or XMLWriter::writeElement or extend the XMLWriter class.
up
-1
Anonymous
11 months ago
Sometimes your text have linebreaks ("\n") that need to be translated to HTML "<br />" tag. You can use nl2br() function.
To Top