Linebreaks Converter

by Sebastian Kay

HTML

<form method="post" action="convert-text-html.php" class="online-tools">
  <h2>Normalen Text zu HTML konvertieren</h2>
  <p>Fügen Sie den Text in die untere Box ein und klicken Sie auf den Button.</p>
  <p>Der fertige HTML Code erscheint unten auf der Seite.</p>
  <p class="flat"><input type="radio" id="pTag" name="linebreaks" value="p" checked="checked"> <strong>&lt;p&gt;</strong>: Nur Absatz Tags benutzen</p>
  <p class="flat"><input type="radio" id="pTagbrTag" name="linebreaks" value="pbr"> <strong>&lt;p&gt;</strong> &amp; <strong>&lt;br /&gt;</strong>: Absätze und Zeilenumbrüche verwenden</p>
  <p class="flat"><input type="radio" id="brTag" name="linebreaks" value="br"> <strong>&lt;br /&gt;</strong>: Nur Zeilenumbrüche verwenden</p>
  <p><strong>HTML Einstellungen: </strong> <input type="radio" id="newbr" name="thebr" value="yes" checked="checked"> <strong>&lt;br /&gt;</strong>
    or <input type="radio" id="oldbr" name="thebr" value="yes"> <strong>&lt;br&gt;</strong></p>
  <p><input type="checkbox" name="tfEncode" id="tfEncode" value="yes" checked="checked"> Zeichen mit Akzenten kodieren</p>
  <p><textarea id="oldText" name="oldText" rows="6" cols="36"></textarea></p>
  <p><input type="button" name="Convert-Text-HTML" value="Text zu HTML konvertieren" id="convertText" class="subbtn">
    <input type="button" name="clearText" id="clearText" value="Zurücksetzen" class="rstbtn"></p>
  <h2>Fertiger Text im HTML Format</h2>
  <p class="flat">Hier können Sie den fertigen Text im HTML Format rauskopieren.</p>
  <p><textarea id="newCode" name="newCode" rows="9" cols="36"></textarea></p>
  <p>
    <input type="button" name="copyClip" id="copyClip" value="Kopieren" class="actbtn" data-clipboard-target="#newCode">
  </p>
</form>

JavaScript

document.getElementById("convertText").addEventListener("click", function () {

var brPref = document.getElementById("oldbr").checked;
if(brPref == 1 || brPref == true){
var linebs = '<br>';
}else{
var linebs = '<br />';
}



var jpTag = document.getElementById("pTag").checked;
var jpTagbrTag = document.getElementById("pTagbrTag").checked;
var jbrTag = document.getElementById("brTag").checked;
var noBreaks = document.getElementById("oldText").value;
if(document.querySelector('#tfEncode:checked')){
var tfEncode = document.querySelector('#tfEncode:checked').value;
}else{
var tfEncode = "no";
}
	
noBreaks = noBreaks.replace(/\r\n/g,"XiLBXZ");
noBreaks = noBreaks.replace(/\n/g,"XiLBXZ");
noBreaks = noBreaks.replace(/\r/g,"XiLBXZ");


	var i = noBreaks.length,
	      aRet = [];

if(tfEncode == "yes"){	
	while (i--) {
		var iC = noBreaks [i].charCodeAt();
		if (iC == 34 || iC == 38 || (iC ==96) || iC > 127) {
			aRet[i] = '&#'+iC+';';
		} else {
			aRet[i] = noBreaks[i];
		}
	}
		noBreaks = aRet.join('');    
	//Get rid of some odd balls
	relq = /\&\#32\;/g;
	noBreaks = noBreaks.replace(relq," ");
	relq = /\&\#10\;/g;
	noBreaks = noBreaks.replace(relq," ");
	relq = /\&\#9\;/g;
	noBreaks = noBreaks.replace(relq," ");
	//make some friendly replacements
	var tf1 =new...