online 1
gast (50)

/ Forum / Webseiten/HTML

Webseiten/HTMLWebseiten/HTML

Fragevon nympseudo vom 22.06.2020, 14:45 Options

wie macht man mit Javascript aus vorher festgelegten wörtern links?

hallo.
wie kann ich mit javascript den text einer seite nach bestimmten wörtern durchsuchen lassen, die durch javascript automatisch zu links zum gleichnamigen anker werden?


Antwort schreiben

Antwort 1 von Kaiman vom 22.06.2020, 16:48 Options

Hi,
ich kenne ein Such-Script, das beim Scannen der Webseiten die Meta-Tags ( Title, Description und Keywords ) gelesen werden. Den Quellcode aller Suchmaschinendateien können Sie Ihren Bedürfnissen anpassen, Texte entfernen oder Texte hinzufügen und Bilder einfügen...
Zu finden ist das Script hier: http://www.weblorenz.de/webseiten/suchtool/suchmaschine.htm

Ein Anwendungsbeispiel siehe hier.

Antwort 2 von nympseudo vom 22.06.2020, 20:17 Options

ich meinte eigentlich, dass bestimmte wörter auf meiner website automatisch zu links werden sollen. das soll schreibarbeit abnehmen. der websitebesucher soll dafür nichts tun müssen. er bekommt eigentlich gar nicht mit, das da ein javascript am werk was. noch ideen?

Antwort 3 von Kaiman vom 22.06.2020, 20:46 Options

Sowas wird es nicht als fertiges Script geben. Hier sind Programmierkünstler gefragt.

Antwort 4 von Friedel vom 22.06.2020, 21:33 Options

Ich kann mir keine Situation vorstellen, die sowas sinnvoll macht. Der Auifwand wäre sehr hoch. Mit einem kleinen Makro könnte man jeden halbwegs guten Editor diese Wörter automatisch zu Links umbauen. Aber sowas auf Dauer bei jedem Seitenaufruf auf dem Rechner des Besuchers machen zu lassen ist imho Unsinn. Und merken würde der Besucher das indirket auf jeden Fall, denn auf den meisten Rechnern würde das Script den Browser recht stark belasten und es würde entsprechend lange dauern, bis die Links zu sehen sind.

Antwort 5 von katy vom 23.06.2020, 21:44 Options

Hallo nympseudo,

so schwer sollte das nicht sein!

function text2link(txt,txtlink) {
var koerper = document.getElementsByTagName("body")[0];
var alles = koerper.innerHTML;
var suchen = new RegExp(txt,"g");
var allesneu = alles.replace(suchen,txtlink);
koerper.innerHTML = allesneu;
}
window.onload=function() {
text2link("Beispiel","<a href='www.example.de'>Beispiel</a>");
}

nach dem Laden der Seite wird der komplette Seiteninhalt ausgelesen, mittels replace alle Vorkommen des gesuchten Textes "Beispiel" durch den Link "<a href='www.example.de'>Beispiel</a>" ersetzt, und dann der Seiteninhalt damit überschrieben.

Wahrscheinlich ist es aber sinnvoller, wenn du den Vorgang nur auf Seitenteile anwendest.

Viel Erfolg

katy

Antwort 6 von nympseudo vom 28.06.2020, 16:54 Options

Danke.
Folgendes hab ich draus gemacht:

<script language=JavaScript>
<!--
function text2link(txt,txtlink) {
var koerper = document.getElementsByTagName("body")[0];
var alles = koerper.innerHTML;
var suchen = new RegExp(txt,"g");
var allesneu = alles.replace(suchen,txtlink);
koerper.innerHTML = allesneu;
}
var wort = ("Beispiel")
window.onload=function() {
text2link(wort ,"<a href='#" + wort + "'>" + wort + "</a>");
}
// -->
</script>

Kann man für var wort gleich mehrere Wörter festlegen, oder muss ich das für jedes Wort neu machen?

Antwort 7 von sutadur vom 28.06.2020, 19:43 Options

Zitat:
Ich kann mir keine Situation vorstellen, die sowas sinnvoll macht.

Nun ja, auch hier im Forum wird das praktiziert, und wenn auch "nur" zu Zwecken der Werbung ... Ähnlich z.B. auch bei Wikipedia. Insofern kann es bei Texten schon Sinn machen, wenn Begriffe enthalten sind, die an anderer Stelle z.B. noch weitergehend erläutert werden.

Antwort 8 von katy vom 29.06.2020, 09:00 Options

Hallo nympseudo,

das könnte so funktionieren

<script type="text/javascript">
function text2link() {
 var txt = arguments;
 var koerper = document.getElementsByTagName("body")[0];
 var alles = koerper.innerHTML;
 for (var t=0; t<txt.length; t++) {
  var suchen = new RegExp(txt[t],"g");
  var txtlink="<a href='#" + txt[t] + "'>" + txt[t] + "</a>";
  alles = alles.replace(suchen,txtlink);
 }
 koerper.innerHTML = alles;
}
window.onload=function() {
 text2link("Beispiel","Example","Exemplum");
}
</script>


Wenn das Format deiner Links immer gleich bleibt, kann das die Funktion mit übernehmen.
Du kannst die Beispielliste beliebig verlängern!
Beachte aber, dass die Funktion nicht prüft, ob ein Wort schon in einem Link steht. Aus
<a href="Example.org">Beispielseite</a>
würde bei diesem Aufruf
<a href="<a href='#Example'>Example</a>.org"><a href='#Beispiel'>Beispiel</a>seite</a>
also ziemlicher Unsinn!

Beachte bitte bei der Gelegenheit, dass <script language=JavaScript> schon seit etlichen Jahren nicht mehr zulässig ist und die Kommentarzeichen <!-- und // --> mindestens genausolang überflüssig sind.

Einen schönen Sonntag wünscht

katy

Antwort 9 von nympseudo vom 06.07.2020, 08:34 Options

danke katy.
gibt es eine möglichkeit, wie man diese funktion nicht auf den ganzen <body>-bereich, sondern nur auf ein bestimmtes div bezieht?

Antwort 10 von katy vom 06.07.2020, 14:21 Options

Hallo nympseudo,

ja, das ist sogar relativ einfach.

Fasse den Teil der bearbeitet werden soll in zB ein div:
<div id="austauschteil">
Ganz viel Text und HTML
</div>

und ersetze inm Script die Zeile
 var koerper = document.getElementsByTagName("body")[0];
durch
 var koerper = document.getElementById("austauschteil");

katy

Ähnliche Themen

Javascript
tomkat  08.07.2007 - 200 Hits - 2 Antworten

Mehrere Links auf einne setzen?!
x3Rx  26.08.2007 - 37 Hits - 2 Antworten

Wortabstand formatieren
Officegirl  08.11.2007 - 163 Hits - 2 Antworten

Texterklärung
Ferran  24.03.2008 - 16 Hits - 2 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026