webForumDet fria alternativet

escapa '

7 svar · 200 visningar · startad av aleborg

aleborgMedlem sedan jan. 20012 962 inlägg
#1

hur escapar jag ' i en text som ska skrivas ut från javascript?
Provade \' men det funkade inte! :(

Peter SMedlem sedan dec. 20025 484 inlägg
#2

Du får använda dig av Unicode:

alert(unescape("\u0027"));

:)

aleborgMedlem sedan jan. 20012 962 inlägg
#3

men hur får jag in det i
'min text som ska skrivas ut med ' mitt i smeten'

Peter SMedlem sedan dec. 20025 484 inlägg
#4

Så här:

alert(unescape("min text som ska skrivas ut med \u0027 mitt i smeten"));

:)

aleborgMedlem sedan jan. 20012 962 inlägg
#5

??? Så här ser koden ut:

<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_changeProp(objName,x,theProp,theValue) { //v6.0
  var obj = MM_findObj(objName);
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
  }
}
//-->
</script>

onMouseOver="MM_changeProp('help','','innerText','Put the name of your domain here, ex: \&quot;mydomain.com\&quot;, don't include \&quot;www\&quot; or the quotes!','SPAN')"
aleborgMedlem sedan jan. 20012 962 inlägg
#6

@nders löste det med \\\' :e

Peter SMedlem sedan dec. 20025 484 inlägg
#7

Här är en funktion som "escapar" ett specifikt tecken i en sträng:

var str = "onMouseOver=\"MM_changeProp('help','','innerText','Put the name of your domain here, ex: \"mydomain.com\", don't include \"www\" or the quotes!','SPAN')\"";

function escapeChars(s, c){
	var strang = "";

	for(var i=0; i<s.length; i++){
		if(s.charAt(i)==c) strang += escape(s.charAt(i));
		else strang += s.charAt(i);
	}
	return strang;
};

escapeChars(str, "'");

:)

Nexus86Medlem sedan okt. 20022 683 inlägg
#8

Kan även använda HEX:

alert(unescape("min text som ska skrivas ut med %27 mitt i smeten"));

Går iallafall med document.write.

Genererad på 377 ms · cache AV · v20260730165559-full.f96bc7eb