PR

XHTMLをHTML5に一括置換する方法

スポンサーリンク

Googleさんが4月21日までにモバイルフレンドリーなサイトにしないと、スマホ検索結果の順位を落とす(もしくはフレンドリーサイトを上げる)事を正式に発表した。

ということで、
レスポンシブウェブデザイン化を行なう際に必要なメディアクエリー等を使用するため、所有サイトをXHTML(XHTML1.0 Transitional)からHTML5に変換した。

といっても、HTML5で使えなくなったタグや要素は結構な量あるので、あくまでヘッダー部分とかのパッと見て目につく部分のみを変換しただけの簡易的なものなので注意。

まあ、検索エンジンはhtml5として読み取ってくれるからOKなんだけど、きっちりhtml5にするなら、がっつり勉強が必要と思われ。

とりあえず、以下置換した手順っていうか、置換したコード一覧。

 

スポンサーリンク

置換したコード

以下の置換前・置換後のコードを置換ツールを使って変換した。

宣言文1

XHTMLだよ~って宣言をHTML5だよ~に変更。

 置換前 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

 置換後 
<!DOCTYPE html>
<html>

 

宣言文2

文字エンコーディングの宣言方法を変更。

 置換前 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

 置換後 
<meta charset="utf-8">

 

宣言文3

style要素とscript要素の指定宣言は不要なので削除。

 置換前 
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">

 置換後 
削除

 

宣言文4

ファビコンの表記方法を変更。"shortcut icon"が"icon"に変わった。

 置換前 
<link rel="shortcut icon" href="favicon.ico" />

 置換後 
<link rel="icon" href="favicon.ico">

 

表記方法の変更1

<link rel="shortcut icon" href="favicon.ico" /> や、<br />、<hr /> 等の後ろのスペース+スラッシュを取り除く。(置換前のスラッシュの前には半角スペース有り!要注意!)

 置換前 
/>

 置換後 
>

 

表記方法の変更2

<link rel="stylesheet" href="import.css" type="text/css" /> や <script type="text/javascript"> 等の不必要になった文言を削除。("type="の前に半角スペース有り!要注意!)

 置換前 
type="text/css"

 置換後 
削除

 置換前 
type="text/javascript"

 置換後 
削除

 

最終的なソースコード

ヘッダー部分はこんな感じ。
5行目は古いIE使ってる人の為にchromeのエンジン使わせてあげるよ~っていうコード。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=Edge, chrome=1">
<title>ほげほげ</title>
<link rel="icon" href="favicon.ico">
<link rel="stylesheet" href="style.css">
<script src="test.js"></script>
<script>
 alert("ほげほげ!");
</script>
</head>

 

 

置換するのに使ったフリーソフト

ちなみに上記置換作業の際に用いたのは置換ツールの定番中の定番。

Devas

これ、ほんと良いよ♪

 

(2015/03/19追記)
PHP5.3以降で、「nl2br($hoge)」を使って改行を<br />で吐き出してる場合、「nl2br($hoge,false)」にすれば<br>で吐き出せる。

コメント