webentwicklung-frage-antwort-db.com.de

Formatierung des Arrays aus geschweiften Klammern WP Datenbank, um eine besser lesbare Ausgabe zu erhalten

Z.B. Wenn ich etwas in meiner WP Datenbank bearbeiten möchte, bekomme ich buchstäblich Kopfschmerzen. Weil ich so etwas sehe:

 a:92:{s:47:"category/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$";s:52:"index.php?category_name=$matches[1]&feed=$matches[2]";s:42:"category/(.+?)/(feed|rdf|rss|rss2|atom)/?$";s:52:"index.php?category_name=$matches[1]&feed=$matches[2]";s:35:"category/(.+?)/page/?([0-9]{1,})/?$";s:53:"index.php?category_name=$matches[1]&paged=$matches[2]";s:17:"category/(.+?)/?$";s:35:"index.php?category_name=$matches[1]";s:44:"tag/([^/]+)/feed/(feed|rdf|rss|rss2|atom)/?$";s:42:"index.php?ta-9]{1,})/?$";s:50:"index.php?attachment=$matches[1]&cpage=$matches[2]";}

Ich denke, es ist eine Art Array, aber mein Texteditor kann das nicht so formatieren:

Array
(
    [a] => Apple
    [b] => banana
    [c] => Array
        (
            [0] => x
            [1] => y
            [2] => z
        )
)

wie kann dies mit den in der PW-Datenbank gespeicherten Daten geschehen? Gibt es ein Online-Tool dafür oder vielleicht ein Plugin für Sublime Text 2 oder N ++?

3
Derfder

Dies ist ein serialisierter Wert , daher sollten Sie maybe_unserialize() oder nur unserialize() ausführen, bevor Sie ihn bearbeiten.

Wenn Sie in Plugins oder Themes arbeiten, verwenden Sie immer die API: update_option() und get_option(). Durch diese Funktionen werden die Werte für Sie ent/serialisiert, sodass Sie sich keine Sorgen um die Datenbank machen müssen.

Siehe auch:

Wenn Sie nur einen einfachen Konverter benötigen, verwenden Sie die internen Funktionen von WordPress: ein einfaches Dashboard-Widget und die integrierten Funktionen.

enter image description here

<?php # -*- coding: utf-8 -*-
/* Plugin Name: Unserialize Dashboard Widget */

add_action( 'wp_loaded', 't5_unserialize_dashboard_widget' );

function t5_unserialize_dashboard_widget()
{
    $handle = 't5sdw';

    add_action( 'wp_dashboard_setup', function() use ( $handle ) {

        wp_add_dashboard_widget(
            $handle . '_widget',
            'Unserialize',
            function() use ( $handle ) {

                print '<form action="' . admin_url( 'admin-post.php?action=' . $handle ) . '" method="post">';
                wp_nonce_field( 'update', $handle . '_nonce' );
                $content = esc_textarea( var_export( maybe_unserialize( get_option( $handle ) ), TRUE ) );

                print "<textarea name='$handle' class='code large-text' rows=10>$content</textarea><p>";
                submit_button( 'Unserialize', 'primary', $handle . '_unserialize', FALSE );
                print '</p></form>';
            }
        );
    });

    add_action( "admin_post_$handle", function() use ( $handle ) {

        if ( ! isset ( $_POST[ $handle ] )
            or ! wp_verify_nonce( $_POST[ $handle . '_nonce' ], 'update' ) )
            return;

        parse_str( file_get_contents( 'php://input', 'r'), $arr );
        update_option( $handle, $arr[ $handle ] );
        wp_redirect( admin_url( '/' ) );
        exit;
    });
}
4
fuxia