mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 25.04.2024 07:11 Benutzername: Passwort: Auto-Login

Thema: Javascript: replace vom 31.10.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> Javascript: replace
Autor Nachricht
Psilo
Threadersteller

Dabei seit: 20.02.2007
Ort: -
Alter: 35
Geschlecht: Männlich
Verfasst Fr 31.10.2008 12:01
Titel

Javascript: replace

Antworten mit Zitat Zum Seitenanfang

Hallo,

folgendes problem:
Ich will innerhalb eines gewissen divs das größer/kleiner zeichen mit html entities ersetzen.
das funktiniert so weit auch ganz gut aber leider wir das </h1> nicht umgewandelt.
kann mir nicht wirklich weiterhelfen, habe schon gegoogelt und alles mögliche versucht.
bin aber noch ein ziemlicher frischling in javasript

Code:

<script type="text/javascript">
<!--
function replaceit() {
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML.replace(/</, '&lt;')
document.getElementById('test').innerHTML = document.getElementById('test').innerHTML.replace(/>/, '&gt;')
}
-->
</script>


<span id="test"><h1>blabla</h1></span>
<button onclick="replaceit()">TU ES</button>



EDIT
hatte grad noch nen geisteblitz und es mal so versucht
Code:

document.getElementById('test').innerHTML = document.getElementById('test').innerHTML.replace('<h1>blabla</h1>', '&lt;h1&gt;blabla&lt;/h1&gt;')


funktioniert auch.. aber ich hätte halt gern dass das auch klappt wenn nicht gerade blabla im h1 tag steht

EDIT AGAIN:
sorry leute das ich das forum unnötig voll poste.
habs jetz doch allein geschafft..
falls irgendjemad auch mal nach ner lösung für mein problem sucht
hier:
Code:

function replaceit() {
var demostring = document.getElementById('test').innerHTML;
newstring = demostring.replace('<h1>', '&lt;h1&gt;');
newstring = newstring.replace('</h1>', '&lt;/h1&gt');
document.getElementById('test').innerHTML = newstring;
}

und ich war, bevor ich meinen post geschrieben habe, wirklich schon stunden auf der suche nach ner lösung..
dass mir jetz auf einmal die idee kam war reiner zufall * Ja, ja, ja... *

mfg


Zuletzt bearbeitet von Psilo am Fr 31.10.2008 12:12, insgesamt 3-mal bearbeitet
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 31.10.2008 12:27
Titel

Antworten mit Zitat Zum Seitenanfang

Wenn du den String nicht per innerHTML einfügst, sondern per createTextNode erstellst hast du dieses Problem nicht. *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
Psilo
Threadersteller

Dabei seit: 20.02.2007
Ort: -
Alter: 35
Geschlecht: Männlich
Verfasst Fr 31.10.2008 12:28
Titel

Antworten mit Zitat Zum Seitenanfang

ok, vielen Dank

ich kenne ledier noch nicht so viele Befehle in Javascript Menno!

sorry, aber das klappt irgendwie nicht. was mache ich falsch?
Code:

function replaceit() {
var demostring = document.getElementById('test').innerHTML;
newstring = demostring.replace('<h1>', '&lt;h1&gt;');
newstring = newstring.replace('</h1>', '&lt;/h1&gt;');
document.getElementById('test').createTextNode = newstring;
}

function replaceit() {
var demostring = document.getElementById('test').createTextNode;
newstring = demostring.replace('<h1>', '&lt;h1&gt;');
newstring = newstring.replace('</h1>', '&lt;/h1&gt;');
document.getElementById('test').createTextNode = newstring;
}


beide klappen nicht
momentan bringt mir das script leider eh noch nichts, weil ich einfach will das alle < mit &lt; erstetzt werden und alle > mit &gt; ersetzt werden.
also nicht nur der h1 tag
und das krieg ich nicht hin


Zuletzt bearbeitet von Psilo am Fr 31.10.2008 12:30, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Fr 31.10.2008 12:35
Titel

Antworten mit Zitat Zum Seitenanfang

Hier hast du ein Beispiel:

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  xml:lang="de" lang="de">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
      <script type="text/javascript">
         function replaceHeadline()   {
            var wrapper = document.getElementById('wrapper');
           var str = document.createTextNode(wrapper.innerHTML);
            wrapper.replaceChild(str,wrapper.getElementsByTagName('h1')[0]);         
         };      
         window.onload = function() {
            replaceHeadline();
         }
      </script>
  </head>
  <body>
     <div id="wrapper"><h1>Ich bin eine Headline</h1></div>
  </body>
</html>
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Psilo
Threadersteller

Dabei seit: 20.02.2007
Ort: -
Alter: 35
Geschlecht: Männlich
Verfasst Fr 31.10.2008 12:42
Titel

Antworten mit Zitat Zum Seitenanfang

hui ui * Ich bin ja schon still... *

erstmal danke für deine hilfe und mühe

das ist ja alles so ziemlich neu für mich

also ich habe folgende methode entworfen mit der jetz endlich alle tags umgewandelt werden

ist das eine unschöne methode???


Code:

function replaceit() {
var demostring = document.getElementById('test').innerHTML;
newstring = demostring.replace(/</gi, '&lt;');
newstring = newstring.replace(/<\//gi, '&lt;/');
document.getElementById('test').innerHTML = newstring;
}


nach einem test deiner methode ist mir aufgefallen das etwas nicht ganz passt, oder ich mache es enifach falsch...
wenn ich den a tag auch noch umwandeln will passiert folgendes

<h1>Ich bin eine Headline</h1><a href="">blabla</a>blabla

er erstetzt es zwar, aber behält den link auch


Zuletzt bearbeitet von Psilo am Fr 31.10.2008 12:45, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden
status4

Dabei seit: 01.10.2008
Ort: -
Alter: -
Geschlecht: -
Verfasst Fr 31.10.2008 12:44
Titel

Antworten mit Zitat Zum Seitenanfang

Kommt ganz darauf an wie man es sieht. Deine Lösung ist weit verbreitet, die von m natürlich schöner und "korrekter".

Aber wenn es für dich so gut funktioniert dann ist es auch so in Ordnung. *zwinker*
  View user's profile Private Nachricht senden
 
Ähnliche Themen Javascript suchen ersetzen / replace
[javascript] replace() ersetzt nur einen match
JS | replace - regex - br
Kleine Frage zu JS replace
Probleme mit eregi-replace() (Badword-Filter)
[javascript] mit <select> feld wert an javascript funk
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.