Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> PHP

PHP – Giải mã nhiều trường tiêu đề MIME cùng lúc với iconv_mime_decode_headers()

Trong PHP, hàm iconv_mime_decode_headers() được dùng để giải mã nhiều trường tiêu đề MIME cùng một lúc. Đây là hàm nội bộ trong PHP.

Cú pháp

array|false iconv_mime_decode_headers(string $headers, int $mode, ?string $encoding = null)

Tham số

Hàm iconv_mime_decode_headers() chấp nhận ba tham số: $headers, $mode và $encoding.

  • $headers – Các tiêu đề đã mã hóa. Kiểu chuỗi.

  • $mode – Xác định hành vi khi iconv_mime_decode_headers() gặp tiêu đề MIME bị biến dạng. Có thể dùng tổ hợp các bitmask sau:

    • ICONV_MIME_DECODE_STRICT
    • ICONV_MIME_DECODE_CONTINUE_ON_ERROR
    • ICONV_MIME_DECODE_STRICT – Nếu set, tiêu đề được giải mã hoàn toàn tuân thủ nhưng tắt mặc định do nhiều mail user agent hỏng.
    • ICONV_MIME_DECODE_CONTINUE_ON_ERROR – Nếu set, cố gắng bỏ qua lỗi ngữ pháp và tiếp tục xử lý tiêu đề cho trước.
  • $encoding – Tham số tùy chọn chỉ định bộ ký tự để biểu diễn kết quả. iconv.internal_encoding sẽ dùng nếu bỏ qua hoặc null.

Giá trị trả về

Hàm iconv_mime_decode_headers() trả về mảng liên hợp chứa toàn bộ tập các trường tiêu đề MIME được chỉ định bởi headers khi thành công, hoặc false nếu có lỗi khi giải mã.

Ví dụ 1

<pre>
<?php
$str_headers = <<

Kết quả

Array
(
    [Subject] => Prüfung Prüfung
    [To] => xyz@example.com
    [Date] => Mon, 21 Jun 2021 00:00:00 +0000
    [Message-Id] => 
    [Received] => Array
        (
            [0] => from localhost (localhost [127.0.0.1]) by localhost with SMTP id xyz for ; Mon, 21 Jun 2021 00:00:00 +0000 (UTC) (envelope-from example-return-0000-xyz=xyz.com@example.com)
            [1] => (qmail 0 invoked by uid 65534); 21 Mon 2005 00:00:00 +0000
        )
)