Siraj M Siraj M - 2 months ago 6
PHP Question

html_entity_decode not working when printing the value in errorLog File

<?php

$your_string = "&amp;lt;B&amp;gt;Dirkensock&amp;lt;/B&amp;gt; lidkar 0001 laurate zwart van het merk &amp;lt;B&amp;gt;Dirkensock&amp;lt;/B&amp;gt;. Een leuke lidkar van";

$result = html_entity_decode($your_string,ENT_COMPAT, 'UTF-8');
echo $result ;
errorLog($result);


The above code when echo result on browser it prints

<B>Dirkensock</B> lidkar 0001 laurate zwart van het merk <B>Dirkensock</B>. Een leuke lidkar van


the same if I print in errorlog file it prints as same as the previous

&amp;lt;B&amp;gt;Dirkensock&amp;lt;/B&amp;gt; lidkar 0001 laurate zwart van het merk &amp;lt;B&amp;gt;Dirkensock&amp;lt;/B&amp;gt;. Een leuke lidkar van


Thank you in advance

Answer

This may be what you are looking for:

<?php

$your_string = "&amp;lt;B&amp;gt;Dirkensock&amp;lt;/B&amp;gt; lidkar 0001 laurate zwart van het merk &amp;lt;B&amp;gt;Dirkensock&amp;lt;/B&amp;gt;. Een leuke lidkar van";

$result = html_entity_decode($your_string,ENT_COMPAT, 'UTF-8');
echo  $result ;
error_Log( html_entity_decode($result) );

Output in the log file:

[Tue Sep 20 08:23:39 2016] [error] [client 192.168.229.40] <B>Dirkensock</B> lidkar 0001 laurate zwart van het merk <B>Dirkensock</B>. Een leuke lidkar van

For the provided string you have to call html_entity_decode() twice. Check the html_entity_decode documentation