Wenn man etwas schreibt, geschweifte Klammern drum setzten?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Muss der Nutzer denn diese geschweiften Klammern sehen? Wenn nicht, kannst du sie mit PHP bei Empfang der Daten ergänzen:

<?php
  function startsWith($haystack, $needle) {
    $length = strlen($needle);
    return (substr($haystack, 0, $length) === $needle);
  }

  function endsWith($haystack, $needle) {
    $length = strlen($needle);
    return $length === 0 || (substr($haystack, -$length) === $needle);
  }

  if (isset($_POST["someKey")) {
    // filter data

    if (!startsWith($data, "{")) {
      $data = "{".$data;
    }

    if (!endsWith($data, "}")) {
      $data = $data."}";
    }
  
    // ...
}

Ansonsten mit JavaScript, bei Klick auf den Senden-Button:

document.getElementById("idOfSubmitButton").addEventListener("click", function() {
  var textarea = document.getElementById("idOfTextAreaElement");

  if (!this.value.startsWith("{")) {
    textarea.value = "{" + textarea.value;
  }

  if (!this.value.endsWith("}")) {
    textarea.value = textarea.value + "}";
  }
});

Oder nach Änderung der Textarea:

document.getElementById("idOfTextAreaElement").addEventListener("change", function() {
  if (!this.value.startsWith("{")) {
    this.value = "{" + textarea.value;
  }

  if (!this.value.endsWith("}")) {
    this.value = textarea.value + "}";
  }
});

Ach entschuldige, ich habe deine Frage falsch gelesen.

Du solltest natürlich erst einmal wissen, was zuvor schon in dem Textfeld drin stand, das könntest du dir bspw. in einem data-Attribut zwischenspeichern. Beim Schreiben in das Textfeld muss dieser Wert nämlich natürlich wieder vorgefügt werden.

Hier ein praktisches Beispiel: https://jsfiddle.net/ysknr2ey/

Das Gleiche kannst du eigentlich später auch via PHP machen, eine Prüfung ist auf Serverseite wahrscheinlich eh notwendig.

1
@regex9

Vielen Dank! Ich löse es folgendermaßen mit php:

$a=explode("", $alt);
$b=explode("", $neu);
$i=0;
foreach($b AS $neu){
  if($neu != $a["".$i-$minus.""]){
    $b[$i]="{".$b[$i]."}";
    $minus+1;
  }

$i++;
}

foreach($b AS $neu)
{
$endstring.=$neu;
}

Es reicht auch, wenn jeder neue Buchstabe mit geschweiften klammern "umringt" wird. Vielen Dank, auf die Idee wäre ich ohne dich nie gekommen!

0

let a = '{' + $(element).val() + '}';
$(element).html(a);

jquery Methode

Das ist ECMA6. Hierbei sollte der Fragesteller beachten, dass das derzeit nicht in allen Browsern funktionieren wird.

1

JavaScript AJAX sicher?

Hey Community, Habe momentan ein User Control Panel gemacht via PHP. Jetzt wollte ich mich ein bisschen weiterbilden und kam auf die Idee eine Single Page zu machen. Die Frage ist ob AJAX genauso (un)sicher ist wie PHP. Soweit ich das verstanden habe, via AJAX, gibt der User beim Formular ja loginname und pw an, dann übergebe ich die Daten an das JavaScript und er gibt dann via POST die Daten weiter an meine PHP Datei und via Echo kann ich auf das js antworten und dann entscheiden was damit gemacht wird.

Meine Frage: Wie sicher ist das? & kann der Nutzer das JavaScript einsehen, sowie den Quellcode?

...zur Frage

Gibt es eine gute Entwicklungsumgebung für angular 2 und node js?

Ich würde beides gerne in Kombination lernen nachdem ich mit JavaScript Jquery und PHP an die grenzen der "Übersichtlichkeit" (das ich auch in 1 Jahr noch weis was ich da machen wollte) komme.

...zur Frage

Javascript Seite ausgrauen?

Wie kann ich mit Js, Html und css die Seite ausgrauen und eine Nachricht anzeigen, während man auf der Seite nichts anklicken kann? Ist für ein Browsergame ne Art Ladescreen. Danke!

...zur Frage

Wird PHP von allen Nutzern/Browsern unterstützt und kann man es mit HTML verknüpfen?

Ich möchte eine eigene Webseite programmieren (HTML,CSS). Für die Webanwendungen wollte ich zuerst JavaScript verwenden, allerdings habe ich gehört, dass manche User JavaScript deaktiviert haben, weshalb ich nun PHP nutzen möchte. Wird PHP von allen Browsern unterstützt, kann man es wie JavaScript deaktivieren und kann man es mit HTML verknüpfen?

Danke für Antworten!

LG

...zur Frage

Was möchtest Du wissen?