PHP str_replace function problem

  • #1
chrisalviola
80
0
I have this PHP code to edit all HTML text to be displayed so that it wont 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 cant seem to replace it with &nbsp;
 

Answers and Replies

  • #2
36,103
13,031
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;".
 
  • #3
newjerseyrunner
1,535
637
... just curious, are you aware of the strip_tags() function?
 
  • #4
hmmm27
Gold Member
993
497
Sometime in the last nine'n'half years he/she may have figured it out :wink:
 
  • #5
36,103
13,031
These threads get hundreds to thousands of views from search engines over the years. Replies are not just helping the original poster.
 

Suggested for: PHP str_replace function problem

Replies
2
Views
352
  • Last Post
6
Replies
187
Views
5K
Replies
13
Views
598
Replies
2
Views
342
  • Last Post
Replies
16
Views
266
  • Last Post
Replies
12
Views
1K
Replies
3
Views
158
  • Last Post
Replies
18
Views
472
Replies
6
Views
2K
  • Last Post
Replies
13
Views
1K
Top