Rumah pembangunan bahagian belakang tutorial php 实用技巧:PHP截取中文字符串的问题_PHP

实用技巧:PHP截取中文字符串的问题_PHP

Jun 01, 2016 pm 12:30 PM
cs if title cina rentetan soalan

以下代码试用于GB2312编码,截取中文字符串是PHP中一个头疼的问题,解决方法是根据值是否大于等于128来判断是否是双字节字符,以避免出现乱码的情况。但中英文混合、特殊符号等问题总是存在,现在写一个比较全面的,仅供参考:

程序说明:

1. len 参数以中文字符为标准,1len等于2个英文字符,为了形式上好看些

2. 如果将magic参数设为false,则中文和英文同等看待,取绝对的字符数

3. 特别适用于用htmlspecialchars()进行过编码的字符串

4. 能正确处理GB2312中实体字符模式(𖰰)

程序代码:

<ccid_code>function FSubstr($title,$start,$len="",$magic=true) 

{

/**

  *  powered by Smartpig

  *  mailto:d.einstein@263.net

  */

  

$length = 0;

if($len == "") $len = strlen($title);



//判断起始为不正确位置

if($start > 0)

{

  $cnum = 0;

  for($i=0;$i= 128) $cnum   ;

  }

  if($cnum%2 != 0) $start--;

  

  unset($cnum);

}



if(strlen($title)=128)

   {

    $cstep = 2;

    $length  = 2;

    $i  = 1;

    $realnum   ;

    if($magic)

    {

     $blen   ;

     $ctype = 1;

    }

   }else{

    $cstep = 1;

    $length  =1;

    $realnum   ;

    if($magic)

    {

     $alen  ;

    }

   }

  }

  

  if($magic)

  {

   if(($blen*2 $alen) == ($len*2)) break;

   if(($blen*2 $alen) == ($len*2 1))

   {

    if($ctype == 1)

    {

     $length -= $cstep;

     break;

    }else{

     break;

    }

   }

  }else{

   if($realnum == $len) break;

  }

}



unset($cur);

unset($alen);

unset($blen);

unset($realnum);

unset($ctype);

unset($cstep);



return substr($title,$start,$length);

}</ccid_code>
Salin selepas log masuk
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

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.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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)

Cara menetapkan bahasa Cina dalam permainan mudah alih Call of Duty: Warzone Cara menetapkan bahasa Cina dalam permainan mudah alih Call of Duty: Warzone Mar 22, 2024 am 08:41 AM

Call of Duty Warzone ialah permainan mudah alih yang baru dilancarkan Ramai pemain sangat ingin tahu tentang cara menetapkan bahasa permainan ini kepada bahasa Cina Malah, ia adalah sangat mudah ubah suai selepas menggunakannya. Kandungan terperinci boleh dipelajari dalam pengenalan kaedah tetapan bahasa Cina ini. Mari kita lihat bersama. Cara menetapkan bahasa Cina untuk permainan mudah alih Call of Duty: Warzone 1. Mula-mula masukkan permainan dan klik ikon tetapan di penjuru kanan sebelah atas antara muka. 2. Dalam bar menu yang muncul, cari pilihan [Muat Turun] dan klik padanya. 3. Pilih [SIMPLIFIEDCHINESE] (Simplified Chinese) pada halaman ini untuk memuat turun pakej pemasangan Chinese Simplified. 4. Kembali ke tetapan

Bagaimana untuk menulis jika dalam bahasa c untuk menilai pelbagai syarat Bagaimana untuk menulis jika dalam bahasa c untuk menilai pelbagai syarat Mar 25, 2024 pm 03:24 PM

Dalam bahasa C, pernyataan if biasanya digunakan untuk melaksanakan blok kod tertentu berdasarkan satu syarat. Walau bagaimanapun, pelbagai syarat boleh digabungkan untuk membuat penentuan menggunakan operator logik seperti &&, ||, dan !. Termasuk menggunakan logik DAN (&&) untuk menilai berbilang syarat, menggunakan logik ATAU (||) untuk menilai sekurang-kurangnya satu syarat, menggunakan logik NOT (!) untuk menilai penolakan syarat tunggal, serta bersarang jika pernyataan dan menggunakan kurungan untuk menjelaskan keutamaan.

Menyediakan bahasa Cina dengan VSCode: Panduan Lengkap Menyediakan bahasa Cina dengan VSCode: Panduan Lengkap Mar 25, 2024 am 11:18 AM

Persediaan VSCode dalam Bahasa Cina: Panduan Lengkap Dalam pembangunan perisian, Visual Studio Code (VSCode ringkasnya) ialah persekitaran pembangunan bersepadu yang biasa digunakan. Bagi pembangun yang menggunakan bahasa Cina, menetapkan VSCode kepada antara muka Cina boleh meningkatkan kecekapan kerja. Artikel ini akan memberi anda panduan lengkap, memperincikan cara menetapkan VSCode kepada antara muka Cina dan menyediakan contoh kod khusus. Langkah 1: Muat turun dan pasang pek bahasa Selepas membuka VSCode, klik di sebelah kiri

Bagaimana untuk menetapkan jadual Excel untuk memaparkan bahasa Cina? Tutorial pengendalian bahasa Cina penukaran Excel Bagaimana untuk menetapkan jadual Excel untuk memaparkan bahasa Cina? Tutorial pengendalian bahasa Cina penukaran Excel Mar 14, 2024 pm 03:28 PM

Hamparan Excel adalah salah satu perisian pejabat yang ramai orang gunakan sekarang, kerana komputer mereka adalah sistem Win11, jadi antara muka bahasa Inggeris dipaparkan itu. Untuk menyelesaikan masalah ini, isu ini Editor berada di sini untuk menjawab soalan untuk semua pengguna Mari lihat kandungan yang dikongsi dalam tutorial perisian hari ini. Tutorial untuk menukar Excel kepada bahasa Cina: 1. Masukkan perisian dan klik pilihan "Fail" di sebelah kiri bar alat di bahagian atas halaman. 2. Pilih "pilihan" daripada pilihan yang diberikan di bawah. 3. Selepas memasuki antara muka baharu, klik pilihan "bahasa" di sebelah kiri

Adakah wwe2k24 akan mempunyai bahasa Cina? Adakah wwe2k24 akan mempunyai bahasa Cina? Mar 13, 2024 pm 04:40 PM

"WWE2K24" ialah permainan sukan lumba yang dicipta oleh Visual Concepts dan dikeluarkan secara rasmi pada 9 Mac 2024. Permainan ini sangat dipuji, dan ramai pemain sangat berminat sama ada ia akan mempunyai versi Cina. Malangnya, setakat ini, "WWE2K24" masih belum melancarkan versi bahasa Cina. Adakah wwe2k24 dalam bahasa Cina Jawapan: Bahasa Cina tidak disokong pada masa ini. Versi standard WWE2K24 di rantau Steam China berharga 199 yuan, versi deluxe ialah 329 yuan, dan edisi peringatan ialah 395 yuan. Permainan ini mempunyai keperluan konfigurasi yang agak tinggi, dan terdapat piawaian tertentu dari segi pemproses, kad grafik atau memori berjalan. Konfigurasi yang disyorkan rasmi dan pengenalan konfigurasi minimum:

Petua untuk menyelesaikan aksara Cina yang kacau apabila menulis fail txt dengan PHP Petua untuk menyelesaikan aksara Cina yang kacau apabila menulis fail txt dengan PHP Mar 27, 2024 pm 01:18 PM

Petua untuk menyelesaikan aksara Cina bercelaru yang ditulis oleh PHP ke dalam fail txt Dengan perkembangan pesat Internet, PHP, sebagai bahasa pengaturcaraan yang digunakan secara meluas, digunakan oleh semakin ramai pembangun. Dalam pembangunan PHP, selalunya perlu membaca dan menulis fail teks, termasuk fail txt yang menulis kandungan bahasa Cina. Walau bagaimanapun, disebabkan masalah format pengekodan, kadangkala tulisan Cina akan kelihatan bercelaru. Artikel ini akan memperkenalkan beberapa teknik untuk menyelesaikan masalah aksara Cina bercelaru yang ditulis ke dalam fail txt oleh PHP, dan menyediakan contoh kod khusus. Analisis masalah dalam PHP, teks

Bagaimana untuk menukar Google Chrome kepada mod Cina? Bagaimana untuk menukar Google Chrome kepada mod Cina? Mar 13, 2024 pm 07:31 PM

Bagaimana untuk menukar bahasa Cina kepada bahasa Inggeris dalam Google Chrome? Sesetengah rakan ingin menetapkan Google Chrome kepada bahasa Inggeris supaya mereka boleh terus meningkatkan bahasa Inggeris mereka semasa digunakan. Jadi bagaimana untuk menetapkannya kepada bahasa Inggeris? Google Chrome adalah bahasa Cina secara lalai. Di bawah, saya akan menunjukkan kepada anda cara menetapkan bahasa Google Chrome kepada bahasa Inggeris. Langkah menetapkan: 1. Buka [Google Chrome], seperti yang ditunjukkan dalam rajah di bawah. 2. Klik menu [tiga titik] di penjuru kanan sebelah atas antara muka Google Chrome, seperti yang ditunjukkan dalam rajah di bawah. 3. Selepas memasuki halaman menu, cari [Settings], seperti yang ditunjukkan dalam rajah di bawah. 4. Selepas memasuki halaman tetapan, klik pilihan [Bahasa], seperti yang ditunjukkan dalam rajah di bawah. 5. Pilih [Tambah Bahasa] dalam antara muka bahasa, seperti yang ditunjukkan dalam rajah di bawah.

Penjelasan terperinci tentang kaedah menukar jenis int kepada rentetan dalam PHP Penjelasan terperinci tentang kaedah menukar jenis int kepada rentetan dalam PHP Mar 26, 2024 am 11:45 AM

Penjelasan terperinci tentang kaedah menukar jenis int kepada rentetan dalam PHP Dalam pembangunan PHP, kita sering menghadapi keperluan untuk menukar jenis int kepada jenis rentetan. Penukaran ini boleh dicapai dalam pelbagai cara Artikel ini akan memperkenalkan beberapa kaedah biasa secara terperinci, dengan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. 1. Gunakan fungsi terbina dalam PHP strval(). PHP menyediakan fungsi terbina dalam strval() yang boleh menukar pembolehubah jenis yang berbeza kepada jenis rentetan. Apabila kita perlu menukar jenis int kepada jenis rentetan,

See all articles