PHP str_replace function problem

  • Thread starter Thread starter chrisalviola
  • Start date Start date
  • Tags Tags
    Function Php
Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
4 replies · 4K views
chrisalviola
Messages
80
Reaction score
0
I have this PHP code to edit all HTML text to be displayed so that it won't appear as HTML but as standard text.

<?php
function htmlformat($sinput){

$newphrase = str_replace("<", "&lt;", $sinput);
$newphrase = str_replace(">", "&gt;", $newphrase);
$newphrase = str_replace(chr(13),"<br>",$newphrase);
$newphrase = str_replace(chr(34), "&quot;", $newphrase);
$newphrase = str_replace(chr(32), "&nbsp;",$newphrase);$newphrase=str_replace("","<font color=red>",$newphrase);

$newphrase=str_replace("","</font>",$newphrase);

$newphrase=str_replace("","<img src=",$newphrase);

$newphrase=str_replace("",">",$newphrase);return $newphrase;
}
?>the problem is this part of the code

$newphrase = str_replace(chr(32), "&nbsp;",$newphrase);it only replace the single spaces with &nbsp;
but what about multiple spaces?
when I have 2 more spaces on the text it can't seem to replace it with &nbsp;
 
Physics news on Phys.org
I can't reproduce that problem, works fine for me:
Code:
$newphrase = "a  b";
$newphrase = str_replace(chr(32), "&nbsp;",$newphrase);
              
echo $newphrase;

a&nbsp;&nbsp;b

If you use this as HTML code then a browser will convert these &nbsp; back to spaces and then display only one. If you want to avoid that, use "&amp;nbsp;".
 
... just curious, are you aware of the strip_tags() function?
 
Sometime in the last nine'n'half years he/she may have figured it out :wink:
 
These threads get hundreds to thousands of views from search engines over the years. Replies are not just helping the original poster.
 
  • Like
Likes   Reactions: hmmm27