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:

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

Comments

  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
      <ahref="#">Whatever</a>
      which is pretty much useless.

  2. Permalink to comment#

    Cool hacks… These should be added to WordPressWiki.com

  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

Current ye@r *

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