Grow your CSS skills. Land your dream job.

Last updated on:

Remove Whitespace from Function Output

In WordPress, there are many functions which output things for you. For example, wp_list_pages() outputs a list of all your published pages. The HTML markup it spits out is pretty nicely formatted (meaning: has line breaks and indenting).

There are some circumstances where all that "whitespace" in the formatting is undesirable. Like 1) it's all the more characters to deliver and 2) closing "the gap" in older versions of IE.

If the function supports a way to return a string (rather than immediately echo it), you can use a regex to remove the space:

   echo preg_replace('/>\s+</m', '><', wp_list_pages('echo=0'));


  1. Or you can just str_replace(‘ ‘, ”, function_to_call()), at about double the speed of a regex.

    • This would delete all whitespace characters, rendering your code useless. e.g.:
      <a href="#">Whatever</a>
      will turn into
      which is pretty much useless.

  2. Permalink to comment#

    Cool hacks… These should be added to

  3. Good job…. often an XML input file contains insignificant whitespace like pretty-printed element structures. This is nice to look at, but it adds to the byte length of the file in memory (processing time) and often we don’t want to transfer such whitespace to the output file.

Leave a Comment

Posting Code

  • Use Markdown, and it will escape the code for you, like `<div class="cool">`.
  • Use triple-backticks for blocks of code.
      <h1>multi-line block of code</h1>
      <span>be cool yo.</span>
  • Otherwise, escape your code, like <code>&lt;div class="cool"&gt;</code>. Markdown is just easier though.

Current ye@r *

*May or may not contain any actual "CSS" or "Tricks".