Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8962687
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 15, 20262026-06-15T16:11:09+00:00 2026-06-15T16:11:09+00:00

I’m sure this shouldn’t be possible. Somehow, multiple spaces within paragraphs in my HTML

  • 0

I’m sure this shouldn’t be possible. Somehow, multiple spaces within paragraphs in my HTML markup aren’t collapsing. They are not &nbsp;, not in a <pre> tag, not set to white-space: pre-wrap; or white-space: pre; and the behaviour is not changed by forcing style="white-space: normal;" on the element.

My understanding is, that these are the only three ways that whitespace can be preserved and that two or more spaces can be made to show up in HTML.

So the question is: What else could cause sequential whitespace to show up as multiple spaces? There must be something else – but I can’t look for it until I know what it is, and every source I find just talks about &nbsp;, <pre> and white-space: pre-wrap; or white-space: pre;

Key edit: Using Firebug I tried deleting some of the offending whitespace and typing it back in again. When deleted and re-entered from the keyboard, the spaces behave as normal – no unexpected whitespace in the browser. So it must be some character that shows up in view source, text editors, etc as a plain space, but actually behaves like &nbsp;. What can it be, and crucially, how can I identify it to remove it? The original source of the offending input is the wysiwyg editor TinyMCE so I’m adding that tag…


More detail: I have some HTML containing paragraph text that includes multiple spaces, like this (between the …s is copied direct from Firefox view source):

<p> blah blah.... nothing  more  than  a ... blah blah </p>

As you can see, these are regular spaces, not &nbsp;. The document has &nbsp; elsewhere and they show up as such in view source, so they’re not &nbsp;s somehow masquerading as normal spaces in the source.

Also, the CSS is not set to white-space: pre; or anything like that:

  • Firebug’s ‘Computed’ panel lists no whitespace related rules.
  • Forcing a white-space: normal; on the paragraph makes no difference to the spaces. The rule does show up in the Firebug ‘Computed’ panel, so it is applying.
  • Applying white-space: pre-wrap; to the paragraph results in other changes, but doesn’t change these multiple sequencial spaces. For example, it makes an extra space visible at the end of each line break within a paragraph of selected text. So it’s definitely not somehow being stealthily set to white-space: pre-wrap;

There are no <pre> tags in the document, anywhere. Find on <pre in the source finds nothing.

So it should therefore show in the browser with one space between each word. It doesn’t. It shows multiple spaces as if it was <pre> or &nbsp; or white-space: pre;. But it isn’t any of these.

There must be some other way of getting a white-space: pre; like effect I don’t know about. What other ways to preformat whitespace and stop multiple spaces collapsing are there? What could possibly be causing this.


A few background notes:

  • Seen in which browsers? Firefox 16.0.2, Google Chrome 23.0.1271.95 m (Windows)
  • Why is there double spaced whitespace in the markup if you don’t want it visible? I’m working on the front end / design for a CMS where the users will be inputting text from Word and PDFs via TinyMCE wysiwyg (non-negotiable). Therefore, the markup will be messy. Fixing the CMS text formatter to scrub whitespace and clean the markup is outside the scope of this work.
  • Doctype? <!DOCTYPE html PUBLIC "-//W3C//DTD HTML+RDFa 1.1//EN">
  • You’re sure there are multiple spaces? Definitely, you can select one, two, in some cases three spaces between words in the browser front-end.
  • Can I seez all teh codez? Sorry, but it’s a pre-launch site, it’s not publicly available. Feel free to ask about specific CSS rules, HTML tags, javascript stuff loaded etc etc.
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-15T16:11:10+00:00Added an answer on June 15, 2026 at 4:11 pm

    I’m guessing that the offending space characters in your source code are not SPACE (U+0020), but are actually NO-BREAK SPACE (U+00A0). Visually, they appear identical, but if you view your source code in a hex editor (which shows you the individual bytes in the file), you’ll see a different encoding for these characters.

    Edit 1

    This PHP code should find and replace the offending characters with regular spaces:

    $strNoBreakSpace = mb_convert_encoding('&#x00A0;', 'UTF-8', 'HTML-ENTITIES');
    $strNormalSpace  = mb_convert_encoding('&#x0020;', 'UTF-8', 'HTML-ENTITIES');
    
    $strInput = str_replace( $strNoBreakSpace, $strNormalSpace, $strInput );
    

    Edit 2

    A simpler way of creating the two space characters:

    $strNoBreakSpace = json_decode('"\u00A0"');
    $strNormalSpace  = json_decode('"\u0020"');
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

link Im having trouble converting the html entites into html characters, (&# 8217;) i
I have this code to decode numeric html entities to the UTF8 equivalent character.
I'm parsing an RSS feed that has an &#8217; in it. SimpleXML turns this
I'm not entirely sure how I managed to jack this up. http://pretty-senshi.com If you
I'm trying to convert HTML to plain text. I get many &\#8217; &\#8220; etc.
i got an object with contents of html markup in it, for example: string
Is it possible to replace javascript w/ HTML if JavaScript is not enabled on
I have a string like this: La Torre Eiffel paragonata all&#8217;Everest What PHP function
For some reason, after submitting a string like this Jack’s Spindle from a text
this is what i have right now Drawing an RSS feed into the php,

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.