PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]_php技巧
语法 : string substr (string string, int start [, int length])
说明 :
substr( )传回 string的一部份字符串,由参数 start和 length指定。
如果 start是正数,传回的字符串将会从 string的第 start个字元开始。
Example :
$rest = substr ("abcdef", 1); // returns "bcdef"
$rest = substr ("abcdef", 1, 3); // returns "bcd"
?>
如果 start是负数,传回的字符串将会从 string结尾的第 start个字开始。
Example :
$rest = substr ("abcdef", -1); // returns "f"
$rest = substr ("abcdef", -2); // returns "ef"
$rest = substr ("abcdef", -3, 1); // returns "d"
?>
如果有给予参数 length而且是正数时,传回的字符串将会从 start传回 length个字元。
如果有给予参数 length而且是负数时,传回的字符串将会结束于 string结尾的第 length个字元。
Example :
$rest = substr ("abcdef", 1, -1); // returns "bcde"
?>
dongyue,2005-01-07 11:10:41
substr --- 取得部份字符串
语法 : string substr (string string, int start [, int length])
说明 :
substr( )传回 string的一部份字符串,由参数 start和 length指定。
如果 start是正数,传回的字符串将会从 string的第 start个字元开始。
Example :
$rest = substr ("abcdef", 1); // returns "bcdef"
$rest = substr ("abcdef", 1, 3); // returns "bcd"
?>
如果 start是负数,传回的字符串将会从 string结尾的第 start个字开始。
Example :
$rest = substr ("abcdef", -1); // returns "f"
$rest = substr ("abcdef", -2); // returns "ef"
$rest = substr ("abcdef", -3, 1); // returns "d"
?>
如果有给予参数 length而且是正数时,传回的字符串将会从 start传回 length个字元。
如果有给予参数 length而且是负数时,传回的字符串将会结束于 string结尾的第 length个字元。
Example :
$rest = substr ("abcdef", 1, -1); // returns "bcde"
?>
Utf-8、gb2312都支持的汉字截取函数
//截取中文字符串
/*
Utf-8、gb2312都支持的汉字截取函数
cut_str(字符串, 截取长度, 开始长度, 编码);
编码默认为 utf-8
开始长度默认为 0
*/function cut_str($string, $sublen, $start = 0, $code = 'UTF-8')
{
if($code == 'UTF-8')
{
$pa ="/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
preg_match_all($pa, $string, $t_string); if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen));
return join('', array_slice($t_string[0], $start, $sublen));
}
else
{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen($string);
$tmpstr = ''; for($i=0; $i{
if($i>=$start && $i{
if(ord(substr($string, $i, 1))>129)
{
$tmpstr.= substr($string, $i, 2);
}
else
{
$tmpstr.= substr($string, $i, 1);
}
}
if(ord(substr($string, $i, 1))>129) $i++;
}
if(strlen($tmpstr)return $tmpstr;
}
}
$str="脚本之家一个不错的网站";
echo cut_str($str, 8, 5, 'gb2312');

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Penyelesaian kepada nombor halaman perkataan yang bercelaru: 1. Buka dokumen perkataan dan klik pilihan "Fail" di sudut kiri atas 2. Pilih pilihan "Lagi", dan kemudian klik butang "Pilihan" 3. Pilih "Lanjutan"; dalam pilihan perkataan; 4. Cari "Tunjukkan kod medan dan bukannya nilai medan" dalam "Tunjukkan kandungan dokumen", alih keluar semak di hadapan, dan klik OK untuk kembali ke halaman utama.

Masalah bercelaru Cina Linux adalah masalah biasa apabila menggunakan set aksara Cina dan pengekodan. Watak bercelaru mungkin disebabkan oleh tetapan pengekodan fail yang salah, tempat sistem tidak dipasang atau ditetapkan, dan ralat konfigurasi paparan terminal, dsb. Artikel ini akan memperkenalkan beberapa penyelesaian biasa dan memberikan contoh kod khusus. 1. Periksa tetapan pengekodan fail Gunakan arahan fail untuk melihat pengekodan fail Gunakan perintah fail dalam terminal untuk melihat pengekodan fail: nama fail-fail jika terdapat "charset".

Penyelesaian kepada aksara Cina yang kacau dalam Linux tty: 1. Muat turun fon fbterm melalui arahan "sudo apt-get install fbterm" 2. Jalankan arahan "sudo fbterm" 3. Tukar fon dan saiz fon kepada "font-name =Ubuntu Mono font- size=14” sudah memadai.

Penyelesaian untuk permulaan tomcat yang kacau: 1. Ubah suai fail konfigurasi Tomcat 2. Ubah suai bahasa sistem 3. Ubah suai pengekodan tetingkap baris arahan 5. Semak pengekodan projek; fail; 7 , cuba penyelesaian lain. Pengenalan terperinci: 1. Ubah suai fail konfigurasi conf Tomcat, buka direktori conf Tomcat, cari fail "logging.properties", dsb.

Dalam sistem Windows 10, aksara bercelaru adalah perkara biasa. Sebab di sebalik ini selalunya ialah sistem pengendalian tidak menyediakan sokongan lalai untuk beberapa set aksara, atau terdapat ralat dalam pilihan set aksara yang ditetapkan. Untuk menetapkan ubat yang betul, kami akan menganalisis prosedur operasi sebenar secara terperinci di bawah. Bagaimana untuk menyelesaikan kod kacau Windows 10 1. Buka tetapan dan cari "Masa dan Bahasa" 2. Kemudian cari "Bahasa" 3. Cari "Urus Tetapan Bahasa" 4. Klik "Tukar Tetapan Wilayah Sistem" di sini 5. Semak seperti yang ditunjukkan dan klik Hanya pastikan.

Bagaimana untuk menyelesaikan masalah dokumen teks bercelaru dalam win11? Apabila ramai pengguna menggunakan sistem win11, dokumen teks bercelaru dan tidak dapat dibaca secara normal Ramai rakan tidak tahu bagaimana untuk menyelesaikan masalah ini. Sebenarnya, kaedah ini tidak sukar. Di bawah, editor telah menyusun langkah-langkah untuk menyelesaikan masalah dokumen sistem Windows 11 yang kacau. Langkah-langkah untuk menyelesaikan dokumen sistem Windows 11 yang bercelaru: 1. Mula-mula, buka panel kawalan win11, masukkan panel kawalan dalam kotak carian di bawah, dan klik Cari untuk memasuki panel kawalan. 2. Selepas memasuki panel, cari jam dan kawasan dan klik untuk masuk, kemudian klik pada pilihan kawasan. 3. Selepas memasukkan, klik pada panel pengurusan, dan kemudian klik pada Tukar tetapan wilayah sistem.

Sesetengah rakan ingin membuka pad nota dan mendapati pad nota win11 mereka bercelaru dan tidak tahu apa yang perlu dilakukan. Sebenarnya, secara amnya kita hanya perlu mengubah suai wilayah dan bahasa. Win11 Notepad bercelaru: Langkah pertama, gunakan fungsi carian, cari dan buka "Panel Kawalan". atas Kad. Langkah keempat ialah mengklik "Tukar Tetapan Serantau Sistem" di bawah Langkah kelima ialah menukar tetapan serantau sistem semasa kepada "Bahasa Cina (Ringkas, China)" dan klik "OK" untuk menyimpan.

Apabila ramai pengguna menggunakan komputer, mereka akan mendapati terdapat banyak fail dengan akhiran dll, tetapi ramai pengguna tidak tahu bagaimana untuk membuka fail tersebut Pengguna yang ingin tahu, sila lihat butiran berikut Tutorial~Cara membuka dan edit fail dll: 1. Muat turun perisian yang dipanggil "exescope" dan muat turun dan pasangnya. 2. Kemudian klik kanan fail dll dan pilih "Edit sumber dengan exescope". 3. Kemudian klik "OK" dalam kotak gesaan ralat timbul. 4. Kemudian pada panel kanan, klik tanda "+" di hadapan setiap kumpulan untuk melihat kandungan yang terkandung di dalamnya. 5. Klik pada fail dll yang anda ingin lihat, kemudian klik "Fail" dan pilih "Eksport". 6. Kemudian anda boleh
