17.04.2025, 16:42
Sorry, ich hatte das im falschen Forum gepostet. Hab meinen Beitrag jetzt gemeldet, damit er gelöscht wird und setze ihn hierhin, wo er hingehört:
Hallo! :D
Ich habe zusammen mit der Google KI (weil ich das mit meinen Anfängerkenntnissen nicht allein hinkriege XD) ein js erstellt, dass einen Text automatisch abändern soll.
Zwischen zwei einfachen Textboxen funktioniert das auch toll. Ich gebe den Text in Textbox A ein, das js sucht die erste Zeile aus A in Textbox B (die immer gleich ist) und eine festgelegte Abschlusszeile (die immer gleich ist) in Textbox B und ersetzt den Text von Anfang bis Ende.
Also wenn da steht
Textbox A:
123
ABC
...</td></tr></table>
Textbox B:
lalelu
123
superkalifragilistigexpialigetisch
...</td></tr></table>
tritratrullala
sieht Textbox B nach dem ausführen des js so aus:
Textbox B:
lalelu
123
ABC
...</td></tr></table>
tritratrullala
Also das klappt :)
Allerdings nur in einfachen Textareas. Ich wollte das gerne auch in einer Textarea machen können, die mit dem wysiwyg-Editor verbunden ist (als beispiel vlt NewReply), aber irgendwie klappt es da nicht. Die texte können gelesen werden (da shab ich geprüft), aber nicht ersetzt. Google KI sagt, dass der Editor das irgendwie blockiert.
Kann mir da jemand helfen? Die Google KI ist davon auch überfordert. Die redet etwas von API und da bin ich dann raus gewesen. XD
Was braucht ihr, um mir helfen zu können?
Hier schonmal der js-Code, heißt bei mir "steckbrief_tools.js" und liegt direkt im MYBB Ordner herum (wichtig für den Aufruf unten, falls ihn jemand ausprobieren will):
Aktuell bezieht er sich NICHT auf das Newreply-Textarea (id="message") sondern auf "Textbox"-Textarea ( id="steckbrief-cp"). Wenn der js mit Newreply ausprobiert werden soll, bitte
diese Stelle
ändern zu:
Der Templateschnippsel, den man in newreply einbauen kann, ganz unten, direkt über {footer}:
Er baut 2 Textfelder und den Button ein und verlinkt zu dem js Dokument.
Also falls jemand mir da helfen könnte, dass das nicht nur zwischen den beiden Textfenstern funktioniert, sondern direkt im Newreply-Fenster, wär das awesome! :D
Und sorry nocmal für den Thread im falschen Unterforum >_<
Hallo! :D
Ich habe zusammen mit der Google KI (weil ich das mit meinen Anfängerkenntnissen nicht allein hinkriege XD) ein js erstellt, dass einen Text automatisch abändern soll.
Zwischen zwei einfachen Textboxen funktioniert das auch toll. Ich gebe den Text in Textbox A ein, das js sucht die erste Zeile aus A in Textbox B (die immer gleich ist) und eine festgelegte Abschlusszeile (die immer gleich ist) in Textbox B und ersetzt den Text von Anfang bis Ende.
Also wenn da steht
Textbox A:
123
ABC
...</td></tr></table>
Textbox B:
lalelu
123
superkalifragilistigexpialigetisch
...</td></tr></table>
tritratrullala
sieht Textbox B nach dem ausführen des js so aus:
Textbox B:
lalelu
123
ABC
...</td></tr></table>
tritratrullala
Also das klappt :)
Allerdings nur in einfachen Textareas. Ich wollte das gerne auch in einer Textarea machen können, die mit dem wysiwyg-Editor verbunden ist (als beispiel vlt NewReply), aber irgendwie klappt es da nicht. Die texte können gelesen werden (da shab ich geprüft), aber nicht ersetzt. Google KI sagt, dass der Editor das irgendwie blockiert.
Kann mir da jemand helfen? Die Google KI ist davon auch überfordert. Die redet etwas von API und da bin ich dann raus gewesen. XD
Was braucht ihr, um mir helfen zu können?
Hier schonmal der js-Code, heißt bei mir "steckbrief_tools.js" und liegt direkt im MYBB Ordner herum (wichtig für den Aufruf unten, falls ihn jemand ausprobieren will):
Code:
document.addEventListener('DOMContentLoaded', function() {
const ersetzenButton = document.getElementById('steckbrief-ersetzen-button');
const meldungDiv = document.getElementById('ersetz-meldung');
const steckbriefEingabe = document.getElementById('steckbrief-eingabe-cp');
const quellcodeEditor = document.querySelector('textarea[id="steckbrief-cp"]');
ersetzenButton.addEventListener('click', function() {
if (!quellcodeEditor) {
alert('Quellcode-Editor nicht gefunden. Bitte stelle sicher, dass du dich im Quellcode-Modus befindest.');
return;
}
const neuerSteckbrief = steckbriefEingabe.value;
const startZeile = neuerSteckbrief.split('\n')[0]; // Erste Zeile aus der Eingabe
const startMarker = startZeile.substring(0, startZeile.indexOf('</div>[/size][/b]') + '</div>[/size][/b]'.length); // Bis zum Ende des ersten Div
const endMarker = '</td></tr></table>';
const quellcodeInhalt = quellcodeEditor.value;
const startIndex = quellcodeInhalt.indexOf(startMarker);
if (startIndex === -1) {
alert('Start des Steckbriefcodes nicht im Quelltext gefunden.');
return;
}
const endIndex = quellcodeInhalt.indexOf(endMarker, startIndex);
if (endIndex === -1) {
alert('Ende des Steckbriefcodes nicht im Quelltext gefunden.');
return;
}
const neuerInhalt = quellcodeInhalt.substring(0, startIndex) + neuerSteckbrief + quellcodeInhalt.substring(endIndex + endMarker.length);
quellcodeEditor.value = neuerInhalt;
meldungDiv.style.display = 'block';
setTimeout(function() {
meldungDiv.style.display = 'none';
}, 3000);
});
});
Aktuell bezieht er sich NICHT auf das Newreply-Textarea (id="message") sondern auf "Textbox"-Textarea ( id="steckbrief-cp"). Wenn der js mit Newreply ausprobiert werden soll, bitte
diese Stelle
Code:
const quellcodeEditor = document.querySelector('textarea[id="steckbrief-cp"]');
ändern zu:
Code:
const quellcodeEditor = document.querySelector('textarea[id="message"]');
Der Templateschnippsel, den man in newreply einbauen kann, ganz unten, direkt über {footer}:
Code:
<!-- Neuen Textfenster, Button und Popup für automatisches Einfügen -->
<br/>
<div id="steckbrief-tools">
<textarea id="steckbrief-eingabe-cp" rows="5" cols="60" placeholder="Hier den kopierten Steckbriefcode einfügen"></textarea><br>
<button id="steckbrief-ersetzen-button" type="button">Steckbrief einfügen & ersetzen</button>
<div id="ersetz-meldung" style="display:none; margin-top: 10px; color: green;">Erfolgreich!</div>
<textarea id="steckbrief-cp" rows="5" cols="60" placeholder="Textbox"></textarea><br>
</div>
<!-- Neues Script für automatisches Einfügen -->
<script src="/mybb/steckbrief_tools.js"></script>
Er baut 2 Textfelder und den Button ein und verlinkt zu dem js Dokument.
Also falls jemand mir da helfen könnte, dass das nicht nur zwischen den beiden Textfenstern funktioniert, sondern direkt im Newreply-Fenster, wär das awesome! :D
Und sorry nocmal für den Thread im falschen Unterforum >_<