求中文,英文utf8下统一的计数和截取方法
做网页,一行只有37个英文字符大小的地方,要判断是不是长了,不是就全显示,是就截取到17个中文字符或34个英文字符长的位置再加上三个点“...”做省略号,因为不能判断用户到时候用哪个国家的文字(没准还用俄语),所以需要一个统一的算法,不知道哪位大侠有办法,谢谢。
------解决思路----------------------
ThinkPHP框架中有一个截取函数比较不错
/**<br /> +----------------------------------------------------------<br /> * 字符串截取,支持中文和其他编码<br /> +----------------------------------------------------------<br /> * @static<br /> * @access public<br /> +----------------------------------------------------------<br /> * @param string $str 需要转换的字符串<br /> * @param string $start 开始位置<br /> * @param string $length 截取长度<br /> * @param string $charset 编码格式<br /> * @param string $suffix 截断显示字符<br /> +----------------------------------------------------------<br /> * @return string<br /> +----------------------------------------------------------<br /> */<br />function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)<br />{<br /> if(function_exists("mb_substr"))<br /> {<br /> if ($suffix && strlen($str)>$length)<br /> return mb_substr($str, $start, $length, $charset)."...";<br /> else<br /> return mb_substr($str, $start, $length, $charset);<br /> }<br /> elseif(function_exists('iconv_substr'))<br /> {<br /> if ($suffix && strlen($str)>$length)<br /> return iconv_substr($str,$start,$length,$charset)."...";<br /> else<br /> return iconv_substr($str,$start,$length,$charset);<br /> }<br /><br /> $re['utf-8'] = "/[\x01-\x7f]<br><font color='#FF8000'>------解决思路----------------------</font><br>[\xc2-\xdf][\x80-\xbf]<br><font color='#FF8000'>------解决思路----------------------</font><br>[\xe0-\xef][\x80-\xbf]{2}<br><font color='#FF8000'>------解决思路----------------------</font><br>[\xf0-\xff][\x80-\xbf]{3}/";<br /> $re['gb2312'] = "/[\x01-\x7f]<br><font color='#FF8000'>------解决思路----------------------</font><br>[\xb0-\xf7][\xa0-\xfe]/";<br /> $re['gbk'] = "/[\x01-\x7f]<br><font color='#FF8000'>------解决思路----------------------</font><br>[\x81-\xfe][\x40-\xfe]/";<br /> $re['big5'] = "/[\x01-\x7f]<br><font color='#FF8000'>------解决思路----------------------</font><br>[\x81-\xfe]([\x40-\x7e]<br><font color='#FF8000'>------解决思路----------------------</font><br>\xa1-\xfe])/";<br /> preg_match_all($re[$charset], $str, $match);<br /> $slice = join("",array_slice($match[0], $start, $length));<br /> if($suffix)<br /> return $slice."…";<br /> return $slice;<br />}
------解决思路----------------------
在浏览器中,一个汉字占两个西文字符的位置,这个说法是针对等宽字体而言的
在此前提下针对 utf-8 编码的中西文混合字符串的显示宽度(西文为1、中文为2)有如下计算公式
(按字节计的长度 - 按字计的长度) / 2 + 按字计的长度
比如 aa中国
按字节计的长度为 8
按字计的长度为 4
带入得 (8-4)/2+4 = 6
即 6 个显示单位
如果你需要先指定显示长度,就需要做循环试探了
其实 css 已经提供了更好的解决方案
<style><br />body{<br /> background-color:#f4f4f4;<br /> font-size:12px;<br />}<br />div.test{<br /> width:200px;<br /> height:60px;<br /> border:1px solid red;<br /> border-top:4px solid red;<br /> padding:10px;<br /> overflow:hidden;<br /> text-overflow:ellipsis;<br /> white-space:nowrap;<br />}<br /></style><br /><div class="test">DIV+CSS模板、后台模板、图片图标下载,CSS代码实例、CSS导航菜单、CSS图表<br /></div><br />

------解决思路----------------------
text-overflow:ellipsis; 貌似IE only.

Jenis PHP meminta untuk meningkatkan kualiti kod dan kebolehbacaan. 1) Petua Jenis Skalar: Oleh kerana Php7.0, jenis data asas dibenarkan untuk ditentukan dalam parameter fungsi, seperti INT, Float, dan lain -lain. 2) Return Type Prompt: Pastikan konsistensi jenis nilai pulangan fungsi. 3) Jenis Kesatuan Prompt: Oleh kerana Php8.0, pelbagai jenis dibenarkan untuk ditentukan dalam parameter fungsi atau nilai pulangan. 4) Prompt jenis yang boleh dibatalkan: membolehkan untuk memasukkan nilai null dan mengendalikan fungsi yang boleh mengembalikan nilai null.

Dalam PHP, gunakan kata kunci klon untuk membuat salinan objek dan menyesuaikan tingkah laku pengklonan melalui kaedah Magic \ _ _ _. 1. Gunakan kata kunci klon untuk membuat salinan cetek, mengkloning sifat objek tetapi bukan sifat objek. 2. Kaedah klon \ _ \ _ boleh menyalin objek bersarang untuk mengelakkan masalah menyalin cetek. 3. Beri perhatian untuk mengelakkan rujukan pekeliling dan masalah prestasi dalam pengklonan, dan mengoptimumkan operasi pengklonan untuk meningkatkan kecekapan.

PHP sesuai untuk pembangunan web dan sistem pengurusan kandungan, dan Python sesuai untuk sains data, pembelajaran mesin dan skrip automasi. 1.PHP berfungsi dengan baik dalam membina laman web dan aplikasi yang cepat dan berskala dan biasanya digunakan dalam CMS seperti WordPress. 2. Python telah melakukan yang luar biasa dalam bidang sains data dan pembelajaran mesin, dengan perpustakaan yang kaya seperti numpy dan tensorflow.

Pemain utama dalam tajuk cache HTTP termasuk kawalan cache, ETAG, dan modifikasi terakhir. 1.Cache-Control digunakan untuk mengawal dasar caching. Contoh: Cache-Control: Max-Age = 3600, Awam. 2. ETAG mengesahkan perubahan sumber melalui pengenal unik, Contoh: ETAG: "686897696A7C876B7E". 3. Modified Last Menunjukkan Masa Pengubahsuaian Terakhir Sumber, Contoh: Modified Last: Wed, 21OCT201507: 28: 00GMT.

Dalam php, kata laluan_hash dan kata laluan 1) password_hash menjana hash yang mengandungi nilai garam untuk meningkatkan keselamatan. 2) Kata Laluan_verify Sahkan kata laluan dan pastikan keselamatan dengan membandingkan nilai hash. 3) MD5 dan SHA1 terdedah dan kekurangan nilai garam, dan tidak sesuai untuk keselamatan kata laluan moden.

PHP adalah bahasa skrip sisi pelayan yang digunakan untuk pembangunan web dinamik dan aplikasi sisi pelayan. 1.Php adalah bahasa yang ditafsirkan yang tidak memerlukan kompilasi dan sesuai untuk perkembangan pesat. 2. Kod PHP tertanam dalam HTML, menjadikannya mudah untuk membangunkan laman web. 3. PHP memproses logik sisi pelayan, menghasilkan output HTML, dan menyokong interaksi pengguna dan pemprosesan data. 4. PHP boleh berinteraksi dengan pangkalan data, penyerahan borang proses, dan melaksanakan tugas-tugas sampingan pelayan.

PHP telah membentuk rangkaian sejak beberapa dekad yang lalu dan akan terus memainkan peranan penting dalam pembangunan web. 1) PHP berasal pada tahun 1994 dan telah menjadi pilihan pertama bagi pemaju kerana kemudahan penggunaannya dan integrasi lancar dengan MySQL. 2) Fungsi terasnya termasuk menghasilkan kandungan dinamik dan mengintegrasikan dengan pangkalan data, yang membolehkan laman web dikemas kini secara real time dan dipaparkan secara peribadi. 3) Aplikasi dan ekosistem PHP yang luas telah mendorong kesan jangka panjangnya, tetapi ia juga menghadapi kemas kini versi dan cabaran keselamatan. 4) Penambahbaikan prestasi dalam beberapa tahun kebelakangan ini, seperti pembebasan Php7, membolehkannya bersaing dengan bahasa moden. 5) Pada masa akan datang, PHP perlu menangani cabaran baru seperti kontena dan microservices, tetapi fleksibiliti dan komuniti aktif menjadikannya boleh disesuaikan.

Manfaat utama PHP termasuk kemudahan pembelajaran, sokongan pembangunan web yang kukuh, perpustakaan dan kerangka yang kaya, prestasi tinggi dan skalabilitas, keserasian silang platform, dan keberkesanan kos. 1) mudah dipelajari dan digunakan, sesuai untuk pemula; 2) integrasi yang baik dengan pelayan web dan menyokong pelbagai pangkalan data; 3) mempunyai rangka kerja yang kuat seperti Laravel; 4) Prestasi tinggi dapat dicapai melalui pengoptimuman; 5) menyokong pelbagai sistem operasi; 6) Sumber terbuka untuk mengurangkan kos pembangunan.


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

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Dreamweaver CS6
Alat pembangunan web visual

Dreamweaver Mac版
Alat pembangunan web visual