}
function xmlAttrContentEscape(str){
- return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
+ // return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
+ return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/^[ ]+/mg, " ").replace(/^[\t]+/mg, "");
}
/**
'<div id="drawPanel"><div id="drawItem" class="code"><\/div><\/div>' +
'<div style="line-height: ' +
entrySpan +
- 'px;"><br/></div>' +
- '<div><table class="pager" width="' + extPanelWidth + '" cellspacing="1"><tbody>' +
+ 'px;"><br/></div>' +
+ '<div><table class="pager" width="' +
+ extPanelWidth +
+ '" cellspacing="1"><tbody>' +
'<tr><td align="left"><<< 前の3件を表示</td><td align="center">[ 0 ]</td><td align="right">次の3件を表示 >>></td></tr>' +
'<tr><td class="pager" colspan="3">1件~1件(全1件)目の記事を表示中<br/></td></tr></tbody></table></div>';
document.getElementById("drawItem").innerHTML = contentsWithid(entry.content, entry.id);
* Extへのイベント登録です。すべてのDOMが利用可能になった時点で実行されます。
*/
$(document).ready(function(){
- generateForm();
-
+ generateForm();
+
// テキストボックスをExt js化し、空欄入力を拒否します
var searchTextBox = new Ext.form.TextField({
applyTo: "searchWord",
"<input type='checkbox' id='isAsyncOn'/><label for='isAsyncOn'>非同期通信モードで検索を行う</label><br/>" +
"<span style='font-weight: bold;'>[ 注意 ]</span>非同期通信モードをオンにすると速度は上昇しますが、検索の順序が保障されません。<br/><br/>" +
"▼ 検索対象ログ選択<br/><div id='logSelecter'/></div><input type='checkbox' id='allSearchCheck' checked='checked'/><label for='allSearchCheck'>すべてのログに対して検索を行う</label>" +
- "<br/><a href='" + blogUrl + "'>トップページへ戻る</a><br/></form></td></tr></tbody></table>"
+ "<br/><a href='" +
+ blogUrl +
+ "'>トップページへ戻る</a><br/></form></td></tr></tbody></table>"
document.getElementById("genForm").innerHTML = formBuffer;
var resultAreaBuffer = "<table align='center'><tbody><tr><td class='resultarea' style='width: " + resultAreaWidth + "px;'>" +
* @param {String} str エスケープを行いたい文字列
*/
function xmlAttrContentEscape(str){
- return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
+ // return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
+ return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/^[ ]+/mg, " ").replace(/^[\t]+/mg, "");
}
/**
if (inputValidateMode == 1) {
this.content = this.content.replace(/[\r\n]|\r\n/g, "");
- this.content = this.content.replace(/<br>/ig, "\n");
+ this.content = this.content.replace(/<br[ \/]*>/ig, "\n");
+ this.content = this.content.replace(/^[ \t]*/mg, "");
}
}
* @param {String} str エスケープを行う文字列
*/
function xmlAttrContentEscape(str){
- return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
+ return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/^[ ]+/mg, " ").replace(/^[\t]+/mg, "");
}
/**
* @param {String} str 逆エスケープを行う文字列
*/
function xmlAttrContentUnescape(str){
- return str.replace.replace(/"/g, '"').replace(/>/g, ">").replace(/</g, "<").replace(/&/g, "&");
+ return str.replace(/^[\t]+/mg, "").replace(/^[ ]+/mg, " ").replace(/"/g, '"').replace(/>/g, ">").replace(/</g, "<").replace(/&/g, "&");
}
/**
jQuery.ajax({
url: logXmlUrl,
method: "GET",
- error: showError,
+ // error: showError,
success: function(xmlData){
var separateTag = xmlData.getElementsByTagName("file");
var fileList = new Array(separateTag.length);
*/
function refleshEntrylistBox(){
var stringBuffer = [];
- stringBuffer.push("<form name='logform'><select name='logbox' style='width: " + comboWidth + "px' onchange='entryLoader(this.options[this.selectedIndex].value)'>");
+ stringBuffer.push("<form name='logform'><select id='logBox' style='width: " + comboWidth + "px' onchange='entryLoader(this.options[this.selectedIndex].value)'>");
for (var i = 0; i < entryList.length; i++) {
stringBuffer.push("<option value='" + i + "'/>" + entryList[i].title + "</option>");
}
}
// ブロック要素のタグが存在した場合、改行をその後に挿入します。
- contents = contents.replace(/<(div|h\d|p)[^>]*>/ig, "-----------------------------------------------------------------------------\n");
- contents = contents.replace(/(\n|)<\/(div|h\d|p)>/ig, "\n-----------------------------------------------------------------------------\n");
+ if (document.getElementById("isCoverBlockTag").checked) {
+ contents = contents.replace(/<(div|h\d|p)[^>]*>/ig, "-----------------------------------------------------------------------------\n");
+ contents = contents.replace(/(\n|)<\/(div|h\d|p)>/ig, "\n-----------------------------------------------------------------------------\n");
+ }
+ else {
+ contents = contents.replace(/<\/(div|h\d|p)>/ig, "\n");
+ }
// 通常のタグすべてを削除する
contents = contents.replace(/<[^>]*>|<\/[^>]*>/ig, "");
}
/**
- * <content>要素の変換を行います
- * @param {String} content
- */
-function convertContent(content){
- if (document.getElementById("addContentBr").checked) {
- content = content.replace(/[\n\r]|\r\n/g, "<br>\n");
- }
- else {
- content = content.replace(/<br>/ig, "\n");
- }
-
- return content;
-}
-
-/**
* XMLのエスケープを行う関数
* @param {String} str エスケープを行う文字列
*/
function xmlAttrContentEscape(str){
- return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"');
+ return str.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/^[ ]+/mg, " ").replace(/^[\t]+/mg, "");
}
/**
- * XMLのエスケープを行う関数
- * @param {String} str エスケープを行う文字列
+ * XMLの逆エスケープを行う関数
+ * @param {String} str 逆エスケープを行う文字列
*/
function xmlAttrContentUnescape(str){
- return str.replace(/"/g, '"').replace(/>/g, ">").replace(/</g, "<").replace(/&/g, "&");
+ return str.replace(/^[\t]+/mg, "").replace(/^[ ]+/mg, " ").replace(/"/g, '"').replace(/>/g, ">").replace(/</g, "<").replace(/&/g, "&");
}
<tbody>
<tr>
<td class="default" colspan="2" style="padding: 5px; text-align: center; vertical-align: bottom;">
- <table>
+ <table style="width: 100%">
<tbody>
<tr>
<td class="formnavi" style="padding: 0px 20px 0px 20px;">
<div id="logSelecter">
</div>
</td>
+ <td style="width: 10px;">
+ </td>
+ <td class="formnavi">
+ オプション
+ </td>
</tr>
<tr>
<td class="formnavi" style="padding: 0px 20px 0px 20px;">
<div id="entrySelect">
</div>
</td>
+ <td>
+ </td>
+ <td class="forminput">
+ <input type="checkbox" id="isCoverBlockTag" checked="checked" onclick="entryLoader(document.getElementById('logBox').selectedIndex);">ブロック要素のタグを---で囲む
+ </td>
</tr>
</tbody>
</table>