DAY17 文字列/数字関連メソッド(2)

TOKHEE·2024년 4월 11일

1. hrawメソッド

  • hメソッド

    • 機能: HTMLタグをエスケープ処理して、文字列を安全にWebページに表示
      => 主にユーザー入力をWebページに出力する際に使用され、XSS攻撃を防ぐ
    • :
      # ユーザー入力を含む文字列をエスケープ処理
      safe_text = h("<script>alert('XSS');</script>こんにちは?")
      # 結果: "&lt;script&gt;alert('XSS');&lt;/script&gt;こんにちは?"
      エスケープ処理された文字列はWebブラウザーに安全に表示され、スクリプトタグは実行されない
  • rawメソッド

    • 機能: 文字列をエスケープ処理せずにそのまま出力
      => HTMLタグを含む文字列をWebページにHTMLとして直接レンダリングしたい場合に使用
    • :
      # HTMLタグを含む文字列をそのまま出力
      html_content = raw("<p>これは<strong>重要な</strong>メッセージです。</p>")
      # 結果: "<p>これは<strong>重要な</strong>メッセージです。</p>"
      rawメソッドを使用した文字列はHTMLタグがそのまま解釈され、スタイルが適用された状態で表示される

2. sanitizeメソッド

  • 機能: 与えられた文字列からすべてのHTMLタグを削除、または許可されたタグのみを残して他を削除
    => ユーザーが提供したHTMLコンテンツを安全にクリーニングしたい時に役立つ
  • :
    # 特定のHTMLタグのみを許可して他は削除
    clean_text = sanitize("<script>alert('XSS');</script><p>安全なテキスト</p>", tags: ['p'])
    # 結果: "<p>安全なテキスト</p>"

3. sprintfメソッド

  • 機能: 書式文字列を使用して変数を含む文字列を生成
    => このメソッドは、様々なデータタイプ(文字列、数字など)を含む複雑な文字列を効率的に生成する際に使用
  • :
    # 書式を使用した文字列生成
    formatted_str = sprintf("名前: %s, 年齢: %d", "홍길동", 24)
    # 結果: "名前: 홍길동, 年齢: 24"
    sprintfメソッドは指定された書式に従って変数の値を文字列に挿入

4. number_xxxxxメソッド

  • 機能: 数字を様々な形式(通貨、パーセンテージ、区切り文字含むなど)で加工して表示
    => 数字データをユーザーフレンドリーに表示する必要がある時に便利

  • :

    # 通貨形式で数字をフォーマット
    formatted_currency = number_to_currency(10000, unit: "원", precision: 0)
    # 結果: "원10,000"
    
    # パーセント形式で数字をフォーマット
    formatted_percentage = number_to_percentage(99.99, precision: 1)
    # 結果: "99.9%"
    
    # 区0切り文字を含む数字をフォーマット
    formatted_number = number_with_delimiter(123456789, delimiter: ',')
    # 結果: "123,456,789"

5. strftimeメソッド

  • 機能: Timeオブジェクトをフォーマットされた文字列に変換
    => メソッドは、日付及び時間を様々な形式で表示したい場合に使用
  • :
    # 日付及び時間のフォーマット
    current_time = Time.now
    formatted_time = current_time.strftime("%Y년 %m月 %d日 %H時 %M分 %S秒")
    # 結果: "2024年 04月 01日 12時 00分 00秒"
    strftimeメソッドはユーザーが指定した形式に従って日付及び時間データを文字列に変換

0개의 댓글