Cara menggunakan print html entities php

PHP String Reference

contoh

Entitas yang telah ditetapkan HTML "& lt;" (kurang dari) dan "& gt;" (lebih besar dari) ke karakter:

$str = "This is some <b>bold</b> text.";
echo htmlspecialchars_decode($str);
?>

Output HTML dari kode di atas adalah sebagai berikut (lihat sumber):




This is some bold text.

Output browser kode di atas adalah sebagai berikut:



Definisi dan Penggunaan

htmlspecialchars_decode () fungsi untuk beberapa entitas HTML yang telah ditetapkan untuk karakter.

entitas HTML akan diterjemahkan adalah:

  • & Amp; diterjemahkan ke & (ampersand)
  • & Quot; diterjemahkan menjadi "(tanda ganda kutip)
  • 'Decoded menjadi' (tanda kutip tunggal)
  • & Lt; diterjemahkan sebagai <(kurang dari)
  • & Gt; diterjemahkan ke> (lebih besar dari)

htmlspecialchars_decode () fungsi htmlspecialchars () fungsi kebalikan dari fungsi.


tatabahasa

htmlspecialchars_decode( string,flags )


参数描述string必需。规定要解码的字符串。flags可选。规定如何处理引号以及使用哪种文档类型。

可用的引号类型:

  • ENT_COMPAT - 默认。仅解码双引号。
  • ENT_QUOTES - 解码双引号和单引号。
  • ENT_NOQUOTES - 不解码任何引号。

规定使用的文档类型的附加 flags:

  • ENT_HTML401 - 默认。作为 HTML 4.01 处理代码。
  • ENT_HTML5 - 作为 HTML 5 处理代码。
  • ENT_XML1 - 作为 XML 1 处理代码。
  • ENT_XHTML - 作为 XHTML 处理代码。

rincian teknis

Pengembalian:Mengembalikan dikonversi tali.Versi PHP:5.1.0+Update log:Dalam PHP 5.4, menambahkan persyaratan untuk menggunakan bendera tambahan untuk jenis dokumen: ENT_HTML401, ENT_HTML5, ENT_XML1 dan ENT_XHTML.


contoh yang lebih

contoh 1

Beberapa entitas HTML yang telah ditetapkan menjadi karakter:

$str = "Jane & 'Tarzan'";
echo htmlspecialchars_decode($str, ENT_COMPAT); // Will only convert double quotes
echo "
";
echo htmlspecialchars_decode($str, ENT_QUOTES); // Converts double and single quotes
echo "
";
echo htmlspecialchars_decode($str, ENT_NOQUOTES); // Does not convert any quotes
?>

Output HTML dari kode di atas adalah sebagai berikut (lihat sumber):




Jane & 'Tarzan'

Jane & 'Tarzan'

Jane & 'Tarzan'

Output browser kode di atas adalah sebagai berikut:

Jane & 'Tarzan'
Jane & 'Tarzan'
Jane & 'Tarzan'



contoh 2

Entitas HTML yang telah ditetapkan dalam tanda kutip ganda:

$str = 'I love "PHP".';
echo htmlspecialchars_decode($str, ENT_QUOTES); // Converts double and single quotes
?>

Output HTML dari kode di atas adalah sebagai berikut (lihat sumber):




I love "PHP".

Output browser kode di atas adalah sebagai berikut:




PHP String Reference

Mencetak konten lebih dari sekadar foto sederhana di Android memerlukan penulisan teks dan gambar dalam dokumen cetak. Framework Android menyediakan cara menggunakan HTML untuk menulis dokumen dan mencetaknya dengan kode minimum.

Di Android 4.4 (API level 19), class WebView telah diupdate untuk mengaktifkan pencetakan konten HTML. Class ini memungkinkan Anda memuat resource HTML lokal atau mendownload halaman dari web, membuat pekerjaan cetak dan menyerahkannya ke layanan cetak Android.

Tutorial ini menunjukkan cara membuat dokumen HTML yang berisi teks dan grafik dengan cepat dan menggunakan WebView untuk mencetaknya.

Memuat dokumen HTML

Mencetak dokumen HTML dengan WebView mencakup pemuatan resource HTML atau pembuatan dokumen HTML sebagai string. Bagian ini menjelaskan cara mem-build string HTML dan memuatnya ke WebView untuk dicetak.

Objek tampilan ini biasanya digunakan sebagai bagian dari tata letak aktivitas. Namun, jika aplikasi Anda tidak menggunakan WebView, Anda dapat membuat instance class khusus untuk tujuan pencetakan. Langkah utama untuk membuat tampilan cetak kustom ini adalah:

  1. Buat
        private WebView mWebView;
    
        private void doWebViewPrint() {
            // Create a WebView object specifically for printing
            WebView webView = new WebView(getActivity());
            webView.setWebViewClient(new WebViewClient() {
    
                    public boolean shouldOverrideUrlLoading(WebView view, String url) {
                        return false;
                    }
    
                    @Override
                    public void onPageFinished(WebView view, String url) {
                        Log.i(TAG, "page finished loading " + url);
                        createWebPrintJob(view);
                        mWebView = null;
                    }
            });
    
            // Generate an HTML document on the fly:
            String htmlDocument = "<html><body><h1>Test Content</h1><p>Testing, " +
                    "testing, testing...</p></body></html>";
            webView.loadDataWithBaseURL(null, htmlDocument, "text/HTML", "UTF-8", null);
    
            // Keep a reference to WebView object until you pass the PrintDocumentAdapter
            // to the PrintManager
            mWebView = webView;
        }
        
    3 yang memulai pekerjaan cetak setelah resource HTML dimuat.
  2. Muat resource HTML ke objek WebView.

Contoh kode berikut menunjukkan cara membuat

    private WebView mWebView;

    private void doWebViewPrint() {
        // Create a WebView object specifically for printing
        WebView webView = new WebView(getActivity());
        webView.setWebViewClient(new WebViewClient() {

                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    return false;
                }

                @Override
                public void onPageFinished(WebView view, String url) {
                    Log.i(TAG, "page finished loading " + url);
                    createWebPrintJob(view);
                    mWebView = null;
                }
        });

        // Generate an HTML document on the fly:
        String htmlDocument = "<html><body><h1>Test Content</h1><p>Testing, " +
                "testing, testing...</p></body></html>";
        webView.loadDataWithBaseURL(null, htmlDocument, "text/HTML", "UTF-8", null);

        // Keep a reference to WebView object until you pass the PrintDocumentAdapter
        // to the PrintManager
        mWebView = webView;
    }
    
3 sederhana dan memuat dokumen HTML yang dibuat dengan cepat:

Kotlin

    private var mWebView: WebView? = null

    private fun doWebViewPrint() {
        // Create a WebView object specifically for printing
        val webView = WebView(activity)
        webView.webViewClient = object : WebViewClient() {

            override fun shouldOverrideUrlLoading(view: WebView, request: WebResourceRequest) = false

            override fun onPageFinished(view: WebView, url: String) {
                Log.i(TAG, "page finished loading $url")
                createWebPrintJob(view)
                mWebView = null
            }
        }

        // Generate an HTML document on the fly:
        val htmlDocument =
                "<html><body><h1>Test Content</h1><p>Testing, testing, testing...</p></body></html>"
        webView.loadDataWithBaseURL(null, htmlDocument, "text/HTML", "UTF-8", null)

        // Keep a reference to WebView object until you pass the PrintDocumentAdapter
        // to the PrintManager
        mWebView = webView
    }
    

Java

    private WebView mWebView;

    private void doWebViewPrint() {
        // Create a WebView object specifically for printing
        WebView webView = new WebView(getActivity());
        webView.setWebViewClient(new WebViewClient() {

                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    return false;
                }

                @Override
                public void onPageFinished(WebView view, String url) {
                    Log.i(TAG, "page finished loading " + url);
                    createWebPrintJob(view);
                    mWebView = null;
                }
        });

        // Generate an HTML document on the fly:
        String htmlDocument = "<html><body><h1>Test Content</h1><p>Testing, " +
                "testing, testing...</p></body></html>";
        webView.loadDataWithBaseURL(null, htmlDocument, "text/HTML", "UTF-8", null);

        // Keep a reference to WebView object until you pass the PrintDocumentAdapter
        // to the PrintManager
        mWebView = webView;
    }
    

Catatan: Pastikan panggilan Anda untuk menghasilkan pekerjaan cetak terjadi di metode

    private WebView mWebView;

    private void doWebViewPrint() {
        // Create a WebView object specifically for printing
        WebView webView = new WebView(getActivity());
        webView.setWebViewClient(new WebViewClient() {

                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    return false;
                }

                @Override
                public void onPageFinished(WebView view, String url) {
                    Log.i(TAG, "page finished loading " + url);
                    createWebPrintJob(view);
                    mWebView = null;
                }
        });

        // Generate an HTML document on the fly:
        String htmlDocument = "<html><body><h1>Test Content</h1><p>Testing, " +
                "testing, testing...</p></body></html>";
        webView.loadDataWithBaseURL(null, htmlDocument, "text/HTML", "UTF-8", null);

        // Keep a reference to WebView object until you pass the PrintDocumentAdapter
        // to the PrintManager
        mWebView = webView;
    }
    
6 dari
    private WebView mWebView;

    private void doWebViewPrint() {
        // Create a WebView object specifically for printing
        WebView webView = new WebView(getActivity());
        webView.setWebViewClient(new WebViewClient() {

                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    return false;
                }

                @Override
                public void onPageFinished(WebView view, String url) {
                    Log.i(TAG, "page finished loading " + url);
                    createWebPrintJob(view);
                    mWebView = null;
                }
        });

        // Generate an HTML document on the fly:
        String htmlDocument = "<html><body><h1>Test Content</h1><p>Testing, " +
                "testing, testing...</p></body></html>";
        webView.loadDataWithBaseURL(null, htmlDocument, "text/HTML", "UTF-8", null);

        // Keep a reference to WebView object until you pass the PrintDocumentAdapter
        // to the PrintManager
        mWebView = webView;
    }
    
3 yang Anda buat di bagian sebelumnya. Jika tidak ingin menunggu sampai pemuatan halaman selesai, output cetak mungkin tidak lengkap atau kosong, atau mungkin gagal sepenuhnya.

Catatan: Contoh kode di atas berisi instance objek WebView sehingga objek tersebut tidak dikumpulkan sebelum pekerjaan cetak dibuat. Pastikan untuk melakukan hal yang sama dalam implementasi Anda sendiri. Jika tidak, proses cetak mungkin gagal.

Jika Anda ingin menyertakan grafik dalam halaman, tempatkan file grafis dalam direktori

    private WebView mWebView;

    private void doWebViewPrint() {
        // Create a WebView object specifically for printing
        WebView webView = new WebView(getActivity());
        webView.setWebViewClient(new WebViewClient() {

                public boolean shouldOverrideUrlLoading(WebView view, String url) {
                    return false;
                }

                @Override
                public void onPageFinished(WebView view, String url) {
                    Log.i(TAG, "page finished loading " + url);
                    createWebPrintJob(view);
                    mWebView = null;
                }
        });

        // Generate an HTML document on the fly:
        String htmlDocument = "<html><body><h1>Test Content</h1><p>Testing, " +
                "testing, testing...</p></body></html>";
        webView.loadDataWithBaseURL(null, htmlDocument, "text/HTML", "UTF-8", null);

        // Keep a reference to WebView object until you pass the PrintDocumentAdapter
        // to the PrintManager
        mWebView = webView;
    }
    
9 project Anda dan tentukan URL dasar dalam parameter pertama dari metode
    webView.loadDataWithBaseURL(
            "file:///android_asset/images/",
            htmlBody,
            "text/HTML",
            "UTF-8",
            null
    )
    
0, seperti yang ditunjukkan dalam contoh kode berikut:

Kotlin

    webView.loadDataWithBaseURL(
            "file:///android_asset/images/",
            htmlBody,
            "text/HTML",
            "UTF-8",
            null
    )
    

Java

    webView.loadDataWithBaseURL("file:///android_asset/images/", htmlBody,
            "text/HTML", "UTF-8", null);
    

Anda juga dapat memuat halaman web untuk dicetak dengan mengganti metode

    webView.loadDataWithBaseURL(
            "file:///android_asset/images/",
            htmlBody,
            "text/HTML",
            "UTF-8",
            null
    )
    
0 dengan
    webView.loadDataWithBaseURL(
            "file:///android_asset/images/",
            htmlBody,
            "text/HTML",
            "UTF-8",
            null
    )
    
2 seperti yang ditunjukkan di bawah.

Kotlin

    webView.loadUrl("https://developer.android.com/about/index.html")
    

Java

    // Print an existing web page (remember to request INTERNET permission!):
    webView.loadUrl("https://developer.android.com/about/index.html");
    

Saat menggunakan WebView untuk membuat dokumen cetak, Anda harus mengetahui batasan berikut:

  • Anda tidak dapat menambahkan header atau footer, termasuk nomor halaman, ke dokumen.
  • Opsi pencetakan untuk dokumen HTML tidak menyertakan kemampuan untuk mencetak rentang halaman, misalnya: Mencetak halaman 2 sampai 4 dari 10 halaman dokumen HTML tidak didukung.
  • Instance WebView hanya dapat memproses satu pekerjaan cetak pada satu waktu.
  • Dokumen HTML yang berisi atribut cetak CSS, seperti properti lanskap, tidak didukung.
  • Anda tidak dapat menggunakan JavaScript dalam dokumen HTML untuk memicu pencetakan.

Catatan: Konten objek WebView yang disertakan dalam tata letak juga dapat dicetak setelah memuat dokumen.

Jika Anda ingin membuat output cetak yang lebih disesuaikan dan memiliki kontrol penuh atas gambar konten pada halaman yang dicetak, lanjutkan ke tutorial selanjutnya: Tutorial Mencetak dokumen kustom.

Membuat pekerjaan cetak

Setelah membuat WebView dan memuat konten HTML, aplikasi Anda hampir selesai menjalankan bagiannya dalam proses pencetakan. Langkah berikutnya adalah mengakses

    webView.loadDataWithBaseURL(
            "file:///android_asset/images/",
            htmlBody,
            "text/HTML",
            "UTF-8",
            null
    )
    
7, membuat adaptor cetak, dan terakhir, membuat pekerjaan cetak. Contoh berikut menunjukkan cara melakukan langkah ini:

Kotlin

    private fun createWebPrintJob(webView: WebView) {

        // Get a PrintManager instance
        (activity?.getSystemService(Context.PRINT_SERVICE) as? PrintManager)?.let { printManager ->

            val jobName = "${getString(R.string.app_name)} Document"

            // Get a print adapter instance
            val printAdapter = webView.createPrintDocumentAdapter(jobName)

            // Create a print job with name and adapter instance
            printManager.print(
                    jobName,
                    printAdapter,
                    PrintAttributes.Builder().build()
            ).also { printJob ->

                // Save the job object for later status checking
                printJobs += printJob
            }
        }
    }
    

Java

    private void createWebPrintJob(WebView webView) {

        // Get a PrintManager instance
        PrintManager printManager = (PrintManager) getActivity()
                .getSystemService(Context.PRINT_SERVICE);

        String jobName = getString(R.string.app_name) + " Document";

        // Get a print adapter instance
        PrintDocumentAdapter printAdapter = webView.createPrintDocumentAdapter(jobName);

        // Create a print job with name and adapter instance
        PrintJob printJob = printManager.print(jobName, printAdapter,
                new PrintAttributes.Builder().build());

        // Save the job object for later status checking
        printJobs.add(printJob);
    }
    

Contoh ini menyimpan instance objek

    webView.loadDataWithBaseURL(
            "file:///android_asset/images/",
            htmlBody,
            "text/HTML",
            "UTF-8",
            null
    )
    
8 untuk digunakan oleh aplikasi, yang sebenarnya tidak diperlukan. Aplikasi Anda dapat menggunakan objek ini untuk melacak progres pekerjaan cetak saat sedang diproses. Pendekatan ini berguna saat Anda ingin memantau status pekerjaan cetak dalam aplikasi Anda atas penyelesaian, kegagalan, atau pembatalan pengguna. Pembuatan notifikasi dalam aplikasi tidak diperlukan, karena framework cetak otomatis membuat notifikasi sistem untuk pekerjaan cetak.