Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

htmlspecialchars is dropping characters

I'm trying to use htmlspecialchars but it doesn't seem to be working. I'm using OSX 10.9.1 and PHP 5.4.17. I write:

var_dump(htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES, 'UTF-8'));
echo htmlspecialchars("<a href='test'>Test</a>", ENT_XHTML, 'UTF-8');

and get:

string '&lt;a href=&#039;test&#039;&gt;Test&lt;/a&gt;' (length=45)
<a href='test'>Test</a

Any ideas?

like image 478
Michel Lecomte Avatar asked Dec 20 '22 18:12

Michel Lecomte


1 Answers

It works, but you expect something else.

The output is interpreted by your browser as HTML. You can get the plain output by setting the content type to plain or using a command line.

<?php

header('Content-Type: text/plain');

var_dump(htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES, 'UTF-8'));
echo htmlspecialchars("<a href='test'>Test</a>", ENT_XHTML, 'UTF-8');
like image 120
kelunik Avatar answered Jan 01 '23 19:01

kelunik