Wie kann ich HTML und Text in der database speichern?

Ich habe zwei Felder. Der erste ist für reinen Text (aber mit Sonderzeichen) und der zweite für HTML-Inhalt (wp_editor wird verwendet). Beide werden später für phpmailer benötigt.

 wp_editor( $epn_doi_body, 'doi-body', array( 'editor_height' => '300px' ) ); 

1) Wie sichere ich sie nach dem Absenden des Formulars und speichere sie dann in der database in einer benutzerdefinierten Tabelle, die bereits existiert? (esc_attr, sanitize_text_field …)

2) Und wenn ich den Inhalt von der database in der genauen und ursprünglichen getippten Version ausgeben möchte: Wie mache ich das? (wpautop …)

Ich habe in den letzten Tagen ein paar Dinge ausprobiert. Aber es hat nie so funktioniert, wie ich es brauchte.

Solutions Collecting From Web of "Wie kann ich HTML und Text in der database speichern?"

  1. Verwenden Sie einfach die Einfüge- und Aktualisierungs-API von wpdb , und Sie benötigen kein Entweichen oder Bereinigen wie im Dokument, sondern nur die Rohdaten.

Daten : (Array) Zu ersetzende Daten (in Spalte => Wertepaare). Sowohl $ Datenspalten als auch $ Datenwerte sollten “roh” sein (weder sollte SQL maskiert sein).

Etwas wie:

  $wpdb->insert( $wpdb->prefix . "myTable", array( "doiBody" => $_POST['doi-body'] ), array( "%s" ) ); 
  1. Wenn Sie in den wp_editor textarea ausgeben, wird kein wpautop verwendet, nur ein esc_attr( $output ) wäre ausreichend, glaube ich.

Hoffe das hilft irgendwie.

  wp_editor( $epn_doi_body, 'doi-body', array( 'editor_height' => '300px' ) ); 

Um dasselbe Ergebnis zu erhalten, das in der database gespeichert wurde, muss die Ausgabe geändert werden.

Für das Textfeld:

 wp_specialchars_decode( $epn_doi_altbody, $quote_style = ENT_QUOTES ) 

Für den wp_editor:

 wpautop( $epn_doi_body );