wp_slash()


WordPressの関数wp_slash()は、指定されたデータに対してスラッシュを追加してエスケープ処理を行います。この関数は主にデータベースに保存する前に使用されます。

シンタックス

wp_slash( mixed $data );
  • $data (mixed) — スラッシュを追加する対象のデータ。配列や文字列を指定可能。

例1: 単一の文字列のエスケープ処理

以下の例では、文字列にスラッシュを追加します。

<?php
$text = "WordPress' functions are great";
$escaped_text = wp_slash( $text );
echo $escaped_text; // 出力: WordPress\' functions are great
?>

例2: 配列のエスケープ処理

配列内の全ての要素にスラッシュを追加する例です。

<?php
$data = array( "O'Reilly", "D'Angelo" );
$escaped_data = wp_slash( $data );
print_r( $escaped_data );
// 出力: Array ( [0] => O\'Reilly [1] => D\'Angelo )
?>

例3: 配列と文字列の混在データをエスケープ

混在したデータ構造にスラッシュを追加する例です。

<?php
$data = array( "title" => "O'Reilly", "content" => "D'Angelo's book" );
$escaped_data = wp_slash( $data );
print_r( $escaped_data );
// 出力: Array ( [title] => O\'Reilly [content] => D\'Angelo\'s book )
?>

例4: データベースに保存する前の処理

投稿データを保存する前にwp_slash()を適用する例です。

<?php
$post_data = array(
    'post_title' => "John's Guide",
    'post_content' => "It's a great post."
);
$escaped_data = wp_slash( $post_data );
wp_insert_post( $escaped_data );
?>

例5: REST APIのリクエストデータ処理

REST APIリクエストデータを処理する際の例です。

<?php
add_filter( 'rest_pre_insert_post', function( $prepared_post ) {
    return wp_slash( $prepared_post );
} );
?>

注意事項:

  • wp_slash()は、スラッシュが既に存在している場合でも二重に追加することがあります。
  • データを出力する際にはstripslashes()を使用してスラッシュを削除することが推奨されます。

関連機能: