preg_replace style attr in $ content und Bearbeiten post_content vor dem Speichern

Ich versuche, die Tags beim Speichern von Posts und Produkten zu entfernen, aber es passiert nichts. (Ich habe meine Regexp auf https://regex101.com/ überprüft)

function filter_style_save($content) { $re = '/(]+)(style=".*?")/'; $replace = "$1"; $content1 = preg_replace($re, $replace, $content); $content = $content1; return $content; }; add_filter('content_save_pre', 'filter_style_save', 99, 2); 

UPD. Ich habe Regex aktualisiert, um Erfolgsergebnis auf Regex101 zu entsprechen

  (]+)(style=".*?") 

Ich erwarte, dass das Attribut STYLE mit seinem ganzen Inhalt gelöscht wird:

 
  • Wooden part
  • Metall top plate
  • Metall front logo
//Should be like this
  • Wooden part
  • Metall top plate
  • Metall front logo

UPD 2. Ich stoppte bei der Verwendung von Filter wp_insert_post_data .

 function filter_style_save1($data, $postarr) { $content = $data['post_content']; $re = '/(]+)(style=".*?")/'; $replace = "$1"; $content = preg_replace($re, $replace, $content); $data['post_content'] = $content; //error_log( print_r( $data['post_content'], true ) ); return $data; }; add_filter('wp_insert_post_data', 'filter_style_save1', 10, 2); 

Fehlerprotokoll zeigt den richtigen Inhalt, aber post_content wurde nicht ersetzt.

UPD 3. Außerdem habe ich bemerkt, dass wenn ich das Post-Error-Log dupliziere,

  • Metall front logo
  • und wenn ich einen bestehenden Post aktualisiere, wird

  • Metall front logo
  • mit Schrägstrichen. Vielleicht verursacht dies das Problem mit Regex. Aber warum sie erscheinen, verstehe ich nicht.

    Solutions Collecting From Web of "preg_replace style attr in $ content und Bearbeiten post_content vor dem Speichern"