treehouse : what would you like to learn today?
Web Design Web Development iOS Development

Remove Whitespace from Function Output

Last updated on:

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'));
?>
View Comments

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

Use markdown or basic HTML and be nice.