•  

Remove spaces when echoing the_title

By Austin On May 15, 2009 Under Tips & Tricks

This little trick can be useful for calling custom functions and printing the title with out spaces for W3C compatibility. I used this trick in a new theme called Galleria, which will be out for public download in the coming days.

Using this comes in handy for a delicious text link:

<?php $title = get_the_title(); ?>
<a href="http://del.icio.us/post?url=<?php echo $title; ?>&amp;<?php echo str_replace(" ", "%20", $title); ?>">
Bookmark This (<?php echo $title; ?>)</a>

What I am doing is calling $title = get_the_title(); and using str_replace(" ", "%20", $title); to replace empty spaces with a %20, which is used in URL encoding empty spaces.

Alternatively you can use a dash or underscore.

Thanks to Jason Boyle for his adaption.

4 Comments Add yours

  1. Peter
    May 16, 2009
    12:10 am

    If you’re just trying to make the string into a valid URL candidate, urlencode() might be a better choice- that way you don’t have to worry about other characters in your title (colons, commas, punctuation, etc).

    Peter´s last blog post..How to Hide Certain Custom Fields From the Edit Post Page

  2. Peter Kahoun
    May 16, 2009
    7:58 am

    There is as “urlencode()” php function for this purpose. http://php.net/manual/en/function.urlencode.php

  3. Austin
    May 16, 2009
    8:31 am

    Thanks for that!

  4. Matt
    August 16, 2009
    11:58 pm

    Brilliant stuff, thanks!