Google AdSense(広告サービス)を利用している人は結構多いでしょう。このGoogle AdSenseにはいくつか規約があり、規約違反をするとアカウントが取り消しになってしまい、広告が表示されなくなってしまいます。その規約違反の中で「ページ内の文字数が少ない」場合も警告を受けます(実際に私が受けたので間違いありません)。ところが、実際にどの程度の文字数で警告になるのかよく分かっていません。通常考えられる対象文字数としては100文字あたりでしょう。そこでprototype.jsのタグカット機能を利用して指定されたURLのページが文字数不足で規約違反になるかどうか調べるサンプルが以下のものです。(サンプルを
実行する)
正規表現を使って、ある程度の記号などをカットしてから文字数をカウントしています(適当に追加していったので綺麗ではありませんが)。全ての記号をカットしているわけではありません。カットしたい記号を増やす場合には以下の赤字のreplace()部分を追加してください。
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8">
<title>Google AdSense文字数不足チェック</title>
<script src="prototype.js" type="text/javascript"></script>
<script type="text/javascript"><!--
function readText()
{
var srchURL = $("sURL").value;
$("result").innerHTML = "ページデータを読み込み中です...";
$("sendBtn").disabled = true;
var httpObj = new Ajax.Request("curl.rb?query="+srchURL, { method: 'get', onComplete: displayData });
}
function displayData(responseHttpObj)
{
$("sendBtn").disabled = false;
message = "<span style='color:red'>ページ上の文字数が不足しているため警告を受ける可能性があります。</span>";
txt = responseHttpObj.responseText;
txt = txt.stripScripts().stripTags();
txt = cutText(txt);
n = txt.length;
if ((n > 101) && (n < 150)) message = "<span style='color:#c34c04'>もしかしたら、文字数不足のため警告を受ける可能性があります。</span>";
if (n > 150) message = "<span style='color:blue'>特に問題はないと思われます。</span>";
$("result").innerHTML = message+"<br>文字数:"+n;
}
function cutText(srcText)
{
LF = String.fromCharCode(10);
CR = String.fromCharCode(13);
str = srcText.replace(/ /g,"");
str = str.replace(/。/g,"");
str = str.replace(/、/g,"");
str = str.replace(/./g,"");
str = str.replace(/,/g,"");
str = str.replace(/[!#%'()=:;_/]/g,"");
str = str.replace(/[()【】[]:;_/|]/g,"");
str = str.replace(/</g,"");
str = str.replace(/>/g,"");
str = str.replace(/&/g,"");
str = str.replace(new RegExp(LF,"g"),"");
str = str.replace(new RegExp(CR,"g"),"");
return str;
}
// --></script>
</head>
<body>
<h1>Google AdSense文字数不足チェック</h1>
<form method="get" name="ajaxForm" onsubmit="readText();return false;">
<input type="text" id="sURL" value="http://www.openspc2.org/index.html" size="80"><br>
<input type="submit" id="sendBtn" value="指定URLデータを読み込み"><br>
</form>
<div id="result"></div>
</body>
</html>
[
目次へ]
(2006.2.7)