replacing " with "

Michel Fortin michel.fortin at
Sat Jan 5 07:51:31 EST 2008

Le 2008-01-04 à 23:43, Waylan Limberg a écrit :

> 1. First of all, using the straight quote is not invalid html or

> xhtml, so why do we care? In fact, I can't seem to find one reference

> that explains why the html entity should be used in this case.

You need to escape it inside the attributes (such as the title
attribute or URLs), but outside attributes that's unnecessary.
Perhaps the same escaping function is used for attributes and other
text that need escaping.

<a href="..." title="My &quot;friend&quot;">...</a>

> 2. If I'm not mistaken, having markdown output the html entity makes

> it imposable for smartypants to then convert straight quotes into

> "curly" quotes - which may be undesirable to some users.

That's right.

In fact, PHP Markdown use that trick to disable SmartyPants on
escaped characters so you don't have to double-escape characters such
as the dot or the backtick. For instance:

I don't want an elipsis character\...
and here I want a double backtick: \``

Pass that though the Markdown & SmartyPants filter on John Gruber's
Markdown Dingus and you'll see that you actually need to write:

I don't want an elipsis character\\\...
and here I want a double backtick: \\\``

to get the expected behaviour.

> So, my question is: Which implementation do you consider correct

> and why?

I'd say both are correct since, within HTML or XML character data, a
character entity is semantically equivalent to the litteral character
it represents. But for the sake of compatibility with other
processing tools, I'd avoid using an entity for strait quotes (or any
other character for that matter) when it's not necessary.

Michel Fortin
michel.fortin at

More information about the Markdown-Discuss mailing list