Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

HTML-Umschreibung für NIX





Frage

Hallo! Es gibt ja eine Umschreibung für ein Leerzeichen mit der Breite 1 in HTML. Gibt es auch eine für ein Leerzeichen mit Breite=0?

Antwort 1 von Nicolas

öhhhm wofür? drück einfach keine Taste dann haste ein leerzeichen der breite null (jedenfalls sieht es genauso aus)

Antwort 2 von Nihilist

Keine Ahnung wofür .. ich brauche es auch gar nicht. Bin grad an ner Funktion am coden, die HTML ausfiltern soll. Deshalb will ich es wissen.

Antwort 3 von vasquez

functioniert nur fürn IE:
aber ich weis nicht ob es weiter hilft ,
wenn du white space rausfilterst.


<html>
<head>
<title>test</test>
<script  language="javascript1.5"  type="text/javascript">
function foo(){
var s="";
alert("vorher");
document.getElementById("div0").innerText = (s=document.body.innerHTML);
alert(s);
document.getElementById("div0").innerText = document.getElementById("div0").innerHTML;
}
</script>
</head>

<body id=tagBody0 onLoad=javascript:foo();>
<!-- hier       ist unnützer white space zwischen den j , aber in commentaren    wird der nicht rausgefiltert-->
<p> j     j&nbsp;   j     j</p>
<div id=div0> </div>

</body>
</html>


Antwort 4 von Nihilist

Nee es geht um was anderes. Ich muß aus einer großen Datenbank die HTML-Formatierungen entfernen. Und da ich grade bei diesem &.n.b.s.p.;-Ding war, wollte ich wissen ob es da noch eine andere Art von Leerzeichen oder so gibt.

Antwort 5 von rfb

<spacer>
(stammt noch aus der frühen Netscape-Zeit)

Antwort 6 von Nihilist

Danke rfb, ist abgespeichert :-)
Aber ich hab jetzt ein ganz anderes Problem. Anscheinend gibt es noch Massen solcher "Kaufmannsund-Sequenzen". So ein Mist!
Gibts da vielleicht irgendwo eine vollständige Aufstellung? Oder weiß jemand wie man dieses Zeug nennt. Ich weiß nicht mal was ich bei Google eingeben sollte ;-(

Antwort 7 von Dr.Ma-Busen

Moin!

Schau mal hier:
http://de.selfhtml.org/html/referenz/zeichen.htm#benannte_iso8859_1

Aber meistens kannst du davon ausgehen das nur das Leerzeichen so Formatiert ist und besondere Zeichen die sonst den Browser ducheinander bringen könnten. Und Umlaute:
& " < > ß ä ö ü Ä Ö Ü

Die Zeichen werde meistens in der Form &...; geschrieben.


MfG

Antwort 8 von Friedel

Dir geht es offensichtlich um Unicode. Seh dir dazu mal auf meiner Homepage http://www.friedels-home.com/index.htm?/Unicode/Unianleitung.htm... an. Unicode kann auf 3 verschiedene Weisen maskiert werden. Es gibt die benannte Maskierung. So kann man z.B. mit &hearts; ein ♥ erzeugen. Das selbe erreicht man nach dezimaler Maskierung mit &#9829; und mit hexadezimaler Maskierung mit &#x2665;. Es gibt etwa 60000 solcher Zeichen. Auf meiner Homepage sind sie alle aufgelistet. Die meisten dieser Zeichen sind aber nur in wenigen Zeichensätzen enthalten. In Arial, Times New Roman u.ä. sind nur ein paar hundert dieser Zeichen enthalten.

Antwort 9 von vasquez

eine frage: geht es dir darum die sonderzeichen
(entity referencen) komplett zu entfernen ?
oder sollen die durch ihr äquivalent ersetzt werden?

für ersteres würde etwas in der art wie das hier vieleicht helfen :

....

<body>
<p> &gt; &lt;  &nbsp;&#32;</p>
<div id="div0"></div>
<script type="text/javascript" language="javascript1.5">

var re = new RegExp("\|&[a-z]+;", "g");
var s=(document.getElementById("div0").innerText=document.body.innerHTML);
alert(s);
s=s.replace(re," ");
alert(s);
//oder die andere möglichkeit bei der  alles ersetzt wird

re=new RegExp("[^\w]","g");
s=s.replace(re," ");
alert(s);
</script>
</body>
.....


Antwort 10 von vasquez

sorry was vertippt :

erste RegExp heist
....
new RegExp("\|&[a-z]+;", "g");
....

Antwort 11 von vasquez

ehm hier läuft was schief ?

Antwort 12 von vasquez

aber jetzte :

new RegExp("&#\d+;|&[a-z]+;", "g");

Antwort 13 von Nihilist

@Dr.Ma-Busen
Genau das brauche ich!
@Friedel
Interessanter Link, hab ich mir gleich gebookmarkt. Aber für meine momentane Aufgabe reichen mir die europäischen Sonderzeichen.
@vasquez
Du hast Dir echt viel Mühe gegeben, aber ich muß das Teil in ASP coden!

Vielen Dank an Euch alle!

Antwort 14 von vasquez

in ASP gibt es die RegExp auch
der reguläre ausdruck bleibt gleich ,
die dateien müsstest du über das filesystemObject
erst als textStream öffnen , und dann readAll anwenden um in einen string zu laden das gibst du dann an die strResult=RegExp.replace(strSource,"replacement") function
den string kannst du dann wieder abspeichern ....

oben bei dem regulären ausdruck gibt es einen fehler der durch die foren filterung entstanden ist ,
vor dem d fehlt ein backslash .....

Antwort 15 von Nihilist

Hallo vasquez!

Ich habe mal probiert Dein Script in JScript zu übersetzen und mit dem WSH zu starten. Aber es funktioniert leider nicht so, wie es soll.
Den Quellcode kann ich hier leider nicht posten, da er, trotz Benutzung des Code-Tags, komplett verstümmelt wird.

http://rapidshare.de/files-de/655157/1.js.html

Antwort 16 von vasquez

für die backslash habe ich hier i eingesetzt:

re=new RegExp("&#iid+;|&[a-z|A-Z]+;", "g");

re=new RegExp("[^iiw]","g");

unter asp sieht das ungefähr so aus:

<%
InitialString = "text hier mit FileSystemObject.openTextStream(...).readAll()
einfügen"


Set RegularExpressionObject = New RegExp

With RegularExpressionObject
.Pattern = "der vom javascript"
.IgnoreCase = True
.Global = True
End With

ReplacedString = RegularExpressionObject.Replace(InitialString, " ")

Response.Write ReplacedString

Set RegularExpressionObject = nothing
%>

Antwort 17 von vasquez

um etwas zeit zu sparen könntest du "readAll" dann
auch direct in die replace function einsetzen

Antwort 18 von Nihilist

Hi vasquez!

Da haben wir uns wohl mißverstanden! Mit "Herausfiltern" meinte ich, daß ich diese benannten HTML-Zeichen durch Ihre ASCII-Entsprechung ersetzen muß, also "&.a.m.p.;" wird zu "&".
Und ich dachte, Du meinst dasselbe, weil Du von Äquivalent gesprochen hast. Aber das kann dieses RegExp wohl nicht leisten.
Dann mache ich es halt konventionell mit Replace und einem Array.

Antwort 19 von Nihilist

Achso: Danke für Deine Mühe :-)

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: