The following examples are all using CSS techniques to hide text and show an image. When choosing the best for your circumstances you should consider the position in your layout - some decalarations (eg position:absolute) remove an element from the flow. You should test with CSS on/off, images on/off and with a range of text and document zooms (I usually test 2 steps either side of default).
View source for details; all styles are inline.
Note that image text differs slightly from the header/anchor/span text as I've chose text to be about the same size.
Adjusted the LL method with the title moving from Shea's suggested position to an anchor that wraps the text. The anchor is padded and bg-image added as the original LL method did with the header element. Anchor is made display block. This gives us good results for CSS = off, images = off. It allows use of transparent images. It uses no extraneous markup or empty elements. It rocks! Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis id neque. Proin hendrerit sapien.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis id neque. Proin hendrerit sapien. Suspendisse facilisis bibendum lacus. Nam sit amet tellus at ligula dapibus porta. Sed magna mauris, faucibus vel, auctor eget, faucibus id, ligula. Nulla tempor porta purus. Cras in ligula blandit massa ultrices viverra. Phasellus erat eros.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis id neque. Proin hendrerit sapien. Suspendisse facilisis bibendum lacus. Nam sit amet tellus at ligula dapibus porta. Sed magna mauris, faucibus vel, auctor eget, faucibus id, ligula. Nulla tempor porta purus. Cras in ligula blandit massa ultrices viverra. Phasellus erat eros.
Using an anchor tag in place of the originally specified span. Note that an anchor for a title is always useful whether used to connect to an external resource or used to add a name for intra-document jumps. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis id neque. Proin hendrerit sapien. Suspendisse facilisis bibendum lacus. Nam sit amet tellus at ligula dapibus porta. Sed magna mauris, faucibus vel, auctor eget, faucibus id, ligula. Nulla tempor porta purus. Cras in ligula blandit massa ultrices viverra. Phasellus erat eros.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis id neque. Proin hendrerit sapien. Suspendisse facilisis bibendum lacus. Nam sit amet tellus at ligula dapibus porta. Sed magna mauris, faucibus vel, auctor eget, faucibus id, ligula. Nulla tempor porta purus. Cras in ligula blandit massa ultrices viverra. Phasellus erat eros.
Position absoluteLorem ipsum dolor sit amet, consectetur adipiscing elit. Duis id neque. Proin hendrerit sapien. Suspendisse facilisis bibendum lacus. Nam sit amet tellus at ligula dapibus porta. Sed magna mauris, faucibus vel, auctor eget, faucibus id, ligula. Nulla tempor porta purus. Cras in ligula blandit massa ultrices viverra. Phasellus erat eros.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis id neque. Proin hendrerit sapien. Suspendisse facilisis bibendum lacus. Nam sit amet tellus at ligula dapibus porta. Sed magna mauris, faucibus vel, auctor eget, faucibus id, ligula. Nulla tempor porta purus. Cras in ligula blandit massa ultrices viverra. Phasellus erat eros.
This document validates as XHTML1.0-Transitional. The CSS2 styles (inline) do not validate as the -moz-outline-style attribute is set to none in the reste styles to avoid outline being shown on selected anchors (this is a Wordpress default).