国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah pembangunan bahagian belakang tutorial php 基于PHP擴展一種處理Emoji方法的類庫介紹

基于PHP擴展一種處理Emoji方法的類庫介紹

Aug 08, 2016 am 09:22 AM
emoji quot str

Carmela介紹Carmela提供基于PHP,PHP擴展,JAVA,C++等語言的一套處理4四節(jié)UTF-8解決方案,比如常見Emoji標簽支持背景:UTF-8格式含有Emoji表情字符串直接插入數(shù)據(jù)庫,如果數(shù)據(jù)庫未做調(diào)整會提示報錯,通過更改數(shù)據(jù)庫和表的字符集為utf8mb4_general_ci,可以避免這種問題。但是,在很多大型系統(tǒng)和架構(gòu)中,修改數(shù)據(jù)庫的字符集可能會引發(fā)很多的問題,比如PC端展示,新老數(shù)據(jù)兼容問題。針對這類問題,還有另外一種解決方案,入庫前替換,出庫后根據(jù)客戶端類型做反向替換。CarmelaCarmela提供基于PHP擴展一套處理4四節(jié)UTF-8解決方案,可以把UTF-8中大于3個字節(jié)的UTF-8字符替換成ubb模式,比如某UTF-8字符%f0%9f%91%a4(為了展示方便,展示emoji標簽的encode模式),替換后的樣子[u]1f464[/u],同時從數(shù)據(jù)庫讀出時,根據(jù)不同的請求客戶端(iOS,Andriod,PC)做反向替換。 Carmela的名字來源《不一樣的卡梅拉》,《不一樣的卡梅拉》系列故事講的是母雞卡梅拉和她的兒女們卡梅利多和卡門的歷險故事,卡梅拉家族里的每個人都是那樣的與眾不同,敢于幻想,更敢于去嘗試別人不敢想的事情。安裝1.編譯打包git clone https://github.com/ugg/Carmela /phpize ./configure --with-php-c/php-config-path make make install
  • 修改配置文件

    vim /php.ini

  • 添加以下內(nèi)容[carmela] extension=carmela.so 方法:carmela_str2ubb: 包含emoji標簽的字符串轉(zhuǎn)換成ubb模式,替換后的樣子[u]1f464[/u]。一個例子:$str = urldecode("This is test %F0%9F%98%9C+%F0%9F%98%99 by ugg"); echo "str:".$str."\n"; echo "ubb:".carmela_str2ubb($str)."\n"; 輸出結(jié)果:str:This is test xxxx(CSDN Emoji不能展示用XXXX代替) by ugg ubb:This is test [u]1f61c[/u] [u]1f619[/u] by ugg carmela_ubb2str:包含ubb標簽轉(zhuǎn)換為utf-8字符串格式,針對PC平臺的轉(zhuǎn)移,可以參考encode.class.php中的carmela_ubb2str方法。一個例子:$str = urldecode("This is test %F0%9F%98%9C+%F0%9F%98%99 by ugg"); $str = carmela_str2ubb($str); echo "ubb:".$str."\n"; echo "str:".carmela_ubb2str($str)."\n"; 輸出結(jié)果:ubb:This is test [u]1f61c[/u] [u]1f619[/u] by ugg str:This is test(CSDN Emoji不能展示用XXXX代替) by uggcarmela_substr:截取包含emoji字符的字符串指定長度字符。carmela_sububb:截取包含ubb標簽的字符串的指定長度字符。carmela_delstr:刪除字符串中的emoji字符,非嚴格模式,3字節(jié)的emoji字符無法刪除,主要用在一些。carmela_delubb:刪除包含ubb標簽字符串中的ubb標簽。性能使用PHP分別實現(xiàn)了兩種方法,分別使用PHP的str_replace方法和PHP查找四字節(jié)emoji,進行替換的方法,以及PHP擴展方式,使用相同數(shù)據(jù)分別進行測試,測試效果如下。=========================== 方案1:PHP str_replace方式 ========================= =========== EMOJI TO STRING ========== TIME:781.94ms,處理行數(shù): 100,處理字數(shù):10100,處理字節(jié)數(shù):31028 平均每行處理時間:7.819ms =========== STRING TO EMOJI ========== TIME:118.566ms,處理行數(shù): 100,處理字數(shù):18710,處理字節(jié)數(shù):37793 平均每行處理時間:1.186ms =========================== 方案2:PHP字符查找方式 ========================= =========== EMOJI TO STRING ========== TIME:51.526ms,處理行數(shù): 100,處理字數(shù):10100,處理字節(jié)數(shù):31028 平均每行處理時間:0.515ms =========== STRING TO EMOJI ========== TIME:27.959ms,處理行數(shù): 100,處理字數(shù):23092,處理字節(jié)數(shù):41236 平均每行處理時間:0.28ms =========================== 方案3:PHP擴展方式 ========================= =========== EMOJI TO STRING ========== TIME:0.721ms,處理行數(shù): 100,處理字數(shù):10100,處理字節(jié)數(shù):31028 平均每行處理時間:0.007ms =========== STRING TO EMOJI ========== TIME:0.956ms,處理行數(shù): 100,處理字數(shù):20308,處理字節(jié)數(shù):38452 平均每行處理時間:0.01ms 從以上測試效果上來看,str_replace方式,性能非常的差。使用PHP直接編寫替換函數(shù)方式,性能提升10倍多,而采用擴展方式后,性能提升明顯,在把emoji從字符形式轉(zhuǎn)換為ubb方式時,性能提升1000倍。以上測試數(shù)據(jù)通過create_file.php可以動態(tài)生成。本測試用例,生成100行數(shù)據(jù),每行100個字符,100字符中可以包含3-10個emoji字符,進行測試的,直接運行benchmark.php 查看運行性能。原理處理四字節(jié)的emoji原理非常簡單,通過字符對比找到emoji字符進行替換。難點就是在基本原理上如何提升性能,如何快速查找,替換。PHP擴展方式,為大家提供了一種思路,可以參考這種思路實現(xiàn)java,C#,js等等版本的。PC如何支持EMoji表情展示?在項目目錄中的emoji目錄下找到images目錄,從web根目錄創(chuàng)建emoji文件夾,把images文件夾整個拷貝到emoji文件下,調(diào)用encode.class.php里面的carmela_ubb2str方法,Util_Encode::carmela_ubb2str($str, "PC"); 即可在PC上展示Emoji表情,目前收集到的845個emoji表情,一些新的表情符號并沒有納入其中,當然,目前這種方法并沒有寫入PHP擴展中,性能相對來說并不高。Contact?ugg.xchj@gmail.com?for all questions

    以上就介紹了基于PHP擴展一種處理Emoji方法的類庫介紹,包括了方面的內(nèi)容,希望對PHP教程有興趣的朋友有所幫助。

    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

    Alat AI Hot

    Undress AI Tool

    Undress AI Tool

    Gambar buka pakaian secara percuma

    Undresser.AI Undress

    Undresser.AI Undress

    Apl berkuasa AI untuk mencipta foto bogel yang realistik

    AI Clothes Remover

    AI Clothes Remover

    Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

    Clothoff.io

    Clothoff.io

    Penyingkiran pakaian AI

    Video Face Swap

    Video Face Swap

    Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

    Alat panas

    Notepad++7.3.1

    Notepad++7.3.1

    Editor kod yang mudah digunakan dan percuma

    SublimeText3 versi Cina

    SublimeText3 versi Cina

    Versi Cina, sangat mudah digunakan

    Hantar Studio 13.0.1

    Hantar Studio 13.0.1

    Persekitaran pembangunan bersepadu PHP yang berkuasa

    Dreamweaver CS6

    Dreamweaver CS6

    Alat pembangunan web visual

    SublimeText3 versi Mac

    SublimeText3 versi Mac

    Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

    Apple mengeluarkan iOS 17.4 Beta 1, memperkenalkan 118 emoji baharu, termasuk phoenix, limau, dsb. Apple mengeluarkan iOS 17.4 Beta 1, memperkenalkan 118 emoji baharu, termasuk phoenix, limau, dsb. Jan 26, 2024 am 08:24 AM

    Menurut laporan pada 26 Januari, menurut emojipedia media teknologi asing, dalam kemas kini iOS 17.4 Beta 1 yang dikeluarkan hari ini, sebagai tambahan kepada penambahbaikan besar seperti sideloading dan kedai aplikasi pihak ketiga untuk ujian di 27 negara EU, Apple juga telah menambah beberapa Emoji baharu. Kemas kini iOS 17.4 Beta 1 menambah phoenix, limau, wajah tersenyum menggelengkan kepala mereka ke atas dan ke bawah, dan satu siri emotikon aksara yang menunjukkan arah, daripada kemas kini Emoji 15.1 yang dicadangkan oleh Unicode pada September 2023. Emoji lengkap dilampirkan seperti berikut: Kemas kini ini menambah sejumlah 118 Emoji, termasuk 6 Emoji baharu dan 4 Emoji keluarga neutral jantina. Selain itu, terdapat 6 ekspresi watak sedia ada

    Cara mematikan emoji dalam Win10 Education Edition Cara mematikan emoji dalam Win10 Education Edition Feb 24, 2024 pm 01:55 PM

    Emotikon emoji ialah fungsi kaedah input terkini yang ditambahkan pada Win10 Education Edition. Banyak emotikon comel menjadikan sembang kurang membosankan perkenalkan. Cara untuk mematikan emoji1 dalam Win10 Education Edition Pertama, anda perlu klik kanan kaedah input di sebelah kanan bar tugas di bawah. 2. Pilih Tetapan dalam kotak pilihan pop timbul untuk memasuki antara muka tetapan bahasa. 3. Pilih pilihan "Kunci" dalam antara muka dan tatal ke bahagian bawah untuk mencari "Panel Emotikon dan Simbol Terbuka", di mana anda boleh mematikan ekspresi emoji. 4. Jika kaedah input lain dipasang, anda boleh memasukkan antara muka "Tetapan dan Bahasa" daripada tetapan Windows, dan kemudian pilih

    Bagaimana untuk memasukkan emoji Huawei Bagaimana untuk memasukkan emoji Huawei Sep 26, 2023 pm 01:31 PM

    Kaedah input emoji Huawei: 1. Telefon bimbit Huawei disertakan dengan papan kekunci emoji Anda boleh beralih ke papan kekunci untuk memasukkan emoji apabila memasukkan teks 2. Di mana anda perlu memasukkan emoji, tekan lama kotak input, dan kemudian pilih "Enter". "Tetapan Kaedah", dalam tetapan kaedah input, anda boleh mencari dan memilih kaedah input emoji yang disertakan dengan sistem 3. Anda boleh memuat turun dan menggunakan papan kekunci emoji pihak ketiga, dan kemudian anda boleh menyemak imbas pada papan kekunci dan memilih emoji yang anda mahu gunakan.

    php提交表單通過后,彈出的對話框怎樣在當前頁彈出,該如何解決 php提交表單通過后,彈出的對話框怎樣在當前頁彈出,該如何解決 Jun 13, 2016 am 10:23 AM

    php提交表單通過后,彈出的對話框怎樣在當前頁彈出php提交表單通過后,彈出的對話框怎樣在當前頁彈出而不是在空白頁彈出?想實現(xiàn)這樣的效果:而不是空白頁彈出:------解決方案--------------------如果你的驗證用PHP在后端,那么就用Ajax;僅供參考:HTML code

    Analisis kod sumber str jenis terbina dalam Python Analisis kod sumber str jenis terbina dalam Python May 09, 2023 pm 02:16 PM

    1Unit asas storan komputer Unicode ialah bait, yang terdiri daripada 8 bit. Memandangkan bahasa Inggeris hanya terdiri daripada 26 huruf ditambah beberapa simbol, aksara Inggeris boleh disimpan terus dalam bait. Tetapi bahasa lain (seperti Cina, Jepun, Korea, dll.) perlu menggunakan berbilang bait untuk pengekodan kerana bilangan aksara yang banyak. Dengan penyebaran teknologi komputer, teknologi pengekodan aksara bukan Latin terus berkembang, tetapi masih terdapat dua batasan utama: tiada sokongan berbilang bahasa: skema pengekodan satu bahasa tidak boleh digunakan dalam bahasa lain dan tiada standard bersatu: contohnya Terdapat banyak piawaian pengekodan dalam bahasa Cina seperti GBK, GB2312, GB18030, dsb. Memandangkan kaedah pengekodan tidak bersatu, pembangun perlu menukar berulang-alik antara pengekodan yang berbeza, dan banyak ralat pasti akan berlaku.

    iOS 15.4 dan iPadOS 15.4 Beta 1 beta awam dikeluarkan, Face ID boleh digunakan walaupun anda memakai topeng iOS 15.4 dan iPadOS 15.4 Beta 1 beta awam dikeluarkan, Face ID boleh digunakan walaupun anda memakai topeng Apr 13, 2023 pm 11:01 PM

    Apple secara rasminya telah melancarkan iOS 15.4 dan iPadOS 15.4 Beta 1 kepada umum, versi 19E5209h. Nota kemas kini rasmi menyenaraikan banyak perubahan, termasuk penambahan ciri baharu. Sokongan untuk topeng Face ID Apple telah menambah "Mask Face ID" dalam iOS 15.4 iPhone akan mengesahkan pengguna dengan mengenal pasti ciri unik kawasan sekitar mata apabila memakai topeng. Ambil perhatian bahawa pengguna mesti menggunakan iPhone 12 ke atas untuk menggunakan ciri ini. Menambah 112 ekspresi Emoji baharu iOS 15.4 Beta 1 menyokong Emoji 14 secara rasmi. Tambah padanya

    Apakah persamaan dan perbezaan antara __str__ dan __repr__ dalam Python? Apakah persamaan dan perbezaan antara __str__ dan __repr__ dalam Python? Apr 29, 2023 pm 07:58 PM

    Apakah persamaan dan perbezaan antara __str__ dan __repr__? Kita semua tahu perwakilan rentetan fungsi repr() boleh menyatakan objek dalam bentuk rentetan untuk memudahkan pengenalan kita. Ini ialah "perwakilan rentetan". repr() mendapatkan perwakilan rentetan objek melalui kaedah khas __repr__. Jika __repr__ tidak dilaksanakan, apabila kita mencetak contoh vektor ke konsol, rentetan yang terhasil mungkin. >>>classContoh:lulus>>>cetak(str(Contoh()))>>>

    Apa yang perlu dilakukan jika emoji mysql bercelaru Apa yang perlu dilakukan jika emoji mysql bercelaru Feb 16, 2023 am 10:01 AM

    Penyelesaian kepada emoji mysql yang bercelaru: 1. Semak pengekodan jadual mysql melalui arahan "show create table test ENGINE=InnoDB DEFAULT CHARSET=utf8mb4" 2. Tetapkan pengekodan bacaan kepada "utf8mb4" melalui "set names utf8mb4;".

    See all articles