アポストロフィーのエスケープ処理に'は非推奨

オライリーのプログラミングPHPを読んでいたら、出力のエスケープの項目で、

 $value = str_replace('\'', ''', $value); // ' はおすすめしません

と書いてた。
理由が書いてなかったので、コンテンツエスケープ規則を見に行った。

XSS (Cross Site Scripting) Prevention Cheat Sheet - OWASP

' not recommended because its not in the HTML spec
' is in the XML and XHTML specs.

これによるとaposはXMLXHTMLでの仕様で、HTMLの仕様じゃないからってことらしい。(Character entity references in HTML 4を参照していた。)

HTML4での仕様みたいだから、HTML5ではどうなったんだろうと思い、
HTML5のドキュメントを見る。

8 The HTML syntax — HTML5

HTML5では無事入っていたみたい。