0
我正在創建一個基本的.fountain編輯器到html解析器,該解析器幾乎檢查在關鍵字上的textarea中鍵入的單詞。一行一行解析,然後逐字逐句從jquery中的textarea
逐行解析以下的作品,當然,用戶將輸入「** **大膽然後*斜體*」在一個單一的線,但我似乎無法得到它以掃描線的每個字。
下面是我的代碼:
jQuery.fn.parseAsFountain = function(window, jQuery){
jQuery = $;
var storybox = $(this).val();
story = storybox.split('\n');
// Process The entire box
for(var i=0;i<story.length;i++){
var line = story[i];
SubstitutePerLine(line);
}
story_cleared = story.join('\n');
story_breaks = story_cleared.replace(/(?:\r\n|\r|\n)/g, '<br />');
return story_breaks;
function SubstitutePerLine(line){
if(line.match(/^[*].*[*]$/)){
newval = line.slice(1, -1);
if(newval.match(/^[*].*[*]$/)){
newval2 = newval.slice(1, -1);
if(newval2.match(/^[*].*[*]$/)){
newval3 = newval2.slice(1, -1);
if(newval3.match(/\\/)) {
if(newval3.match(/\\\*/)){
slash_val = newval3.replace(/\\/, '');
story[i] = '<b><i>' + slash_val + '</i></b>';
}
else {
story[i] = '<b><i>' + newval3 + '</i></b>';
}
}
else {
story[i] = '<b><i>' + newval3 + '</i></b>';
}
}
else if(newval2.match(/\\/)) {
if(newval2.match(/\\\*/)){
slash_val = newval2.replace(/\\/, '');
story[i] = '<b>' + slash_val + '</b>';
}
else {
story[i] = '<b>' + newval2 + '</b>';
}
}
else {
story[i] = '<b>' + newval2 + '</b>';
}
}
else if(newval.match(/\\/)) {
if(newval.match(/\\\*/)){
slash_val = newval.replace(/\\/, '');
story[i] = '<i>' + slash_val + '</i>';
}
else {
story[i] = '<i>' + newval + '</i>';
}
}
else {
story[i] = '<i>' + newval + '</i>';
}
}
if(line.match(/#/)){
newval = line.replace(/^#/, '');
story[i] = '<p hidden>' + newval + '</p>';
}
if(line.match(/##/)){
newval = line.replace(/^##/, '');
story[i] = '<p hidden>' + newval + '</p>';
}
if(line.match(/###/)){
newval = line.replace(/^###/, '');
story[i] = '<p hidden>' + newval + '</p>';
}
return story;
}
}
我試圖重新分割它通過文字在另一個分裂(」「)內循環,然後再加入它之後,但無濟於事。
非常感謝你......我可以建立它更從這裏開始更多.. :) – Odinovsky
不客氣;-) – trincot