Cet article présente principalement la fonction PHP substr(). Voici un exemple de code pour illustrer le problème tronqué lors de l'interception de chaînes chinoises. Les amis dans le besoin peuvent s'y référer
Si je souhaite l'utiliser en PHP. Il n'y a aucun problème si substr() intercepte une chaîne entièrement en anglais. Si elle inclut du chinois ou de l'anglais, ce sera une tragédie, mais ne vous inquiétez pas, nous pouvons utiliser d'autres méthodes pour le résoudre.
PHP intercepte les chaînes chinoises avec des caractères tronqués. C'est quelque chose que j'ai découvert récemment. J'ai déjà écrit un article sur la génération automatique de méta-informations. Cet article concernait l'utilisation de PHP pour intercepter les premiers mots d'un message. article comme méthode de description, mais IE6 ne peut pas charger CSS Voici un supplément.
Tout d'abord, nous devons clarifier ce problème. La raison pour laquelle IE6 ne parvient parfois pas à charger CSS est que le fichier est tronqué, ce qui fait que le lien suivant pour charger CSS n'est pas correctement analysé par IE6. . J'ai donc vu une page HTML pure, sans CSS, nue ! Après avoir clarifié le problème, le problème restant peut être facilement résolu, à savoir éviter les caractères tronqués. Puisque la fonction fournie par Wange a des caractères tronqués, j'ai trouvé une nouvelle fonction PHP pour résoudre ce problème de code tronqué.
La fonction substr() peut diviser du texte, mais vous rencontrerez souvent des problèmes si le texte à diviser comprend des caractères chinois.
L'utilisation de la fonction mb_substr() est similaire à celle de substr(), sauf qu'un paramètre supplémentaire est ajouté à la fin pour définir l'encodage de la chaîne.
Après avoir lu ceci, vous devriez comprendre la raison pour laquelle j'ai amélioré la méthode Wange~~
Voici quelques méthodes de traitement plus avancées <.>
Exemple 1function func_chgtitle($str,$len) { //$length我们允许字符串显示的最大长度 $tmpstr = ""; $strlen = $len; for($i = 0; $i < $strlen; $i++) { if(ord(substr($str, $i, 1)) > 0xa0) { $tmpstr .= substr($str, $i, 2); $i++; } else $tmpstr .= substr($str, $i, 1); } return $tmpstr; }
fonction statique publique Chinesesubstr($str, $start, $len) { // $str fait référence à la chaîne, $start fait référence à la position de départ de la chaîne, $len fait référence à la longueur de la chaîne
$strlen = $start + $len; // Utilisez $strlen pour stocker la longueur totale de la chaîne, c'est-à-dire depuis la position de départ de la chaîne jusqu'à la longueur totale de la chaîne
Le code est le suivantfor($i = $start; $i < $strlen;) { if (ord ( substr ( $str, $i, 1 ) ) > 0xa0) { // 如果字符串中首个字节的ASCII序数 值大于0xa0,则表示汉字 $tmpstr .= substr ( $str, $i, 3 ); // 每次取出三位字符赋给变量$tmpstr,即等 于一个汉字 $i=$i+3; // 变量自加3 } else{ $tmpstr .= substr ( $str, $i, 1 ); // 如果不是汉字,则每次取出一位字符赋给 变量$tmpstr $i++; } } return $tmpstr; // 返回字符串 }
php Visitez l'explication graphique de la procédure stockée Oracle
php Implémente la méthode d'obtention de l'adresse URL actuelle
PHP implémente la méthode de réception du flux binaire et de sa conversion en image
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!