Maison > Article > développement back-end > chaîne php
Le contenu présenté dans cet article concerne les chaînes PHP, qui ont une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
iconv_strlen obtient le nombre de caractères
/. / Supposons que l'encodage de la page actuelle est GBK
<?php $str="中国abc"; echo strlen($str); //返回7,因为 GBK编码每个中文两个字节,strlen是返回字符串所占的字节长度。 echo "<hr>"; echo iconv_strlen($str,"GBK"); //返回5.iconv_strlen 是统计字符串的字符数量 ?>
//Supposons que l'encodage de la page actuelle est UTF-8
<?php $str="中国abc"; echo strlen($str); //返回9,因为 UTF-8编码每个中文三个字节,strlen是返回字符串所占的字节长度。 echo "<hr>"; echo iconv_strlen($str,"UTF-8"); //返回5.iconv_strlen 是统计字符串的字符数量 ?>
iconv_strlen peut être utilisé indépendamment du codage. Calculez le nombre exact de caractères.
mb_strlen — Obtenez la longueur d'une chaîne
La fonction de longueur de chaîne intégrée de PHP strlen ne peut pas gérer correctement les chaînes chinoises. Elle obtient uniquement le nombre d'octets occupés par la chaîne.
Pour l'encodage chinois GB2312, la valeur obtenue par strlen est le double du nombre de caractères chinois, tandis que pour le chinois encodé UTF-8, la différence est de 3 fois (sous l'encodage UTF-8, un caractère chinois occupe 3 caractères Festival).
L'utilisation de la fonction mb_strlen peut mieux résoudre ce problème.
L'utilisation de mb_strlen est similaire à strlen, sauf qu'il possède un deuxième paramètre facultatif pour spécifier l'encodage des caractères.
Par exemple, pour obtenir la longueur $str de la chaîne UTF-8, vous pouvez utiliser mb_strlen($str,'UTF-8').
Si le deuxième paramètre est omis, l'encodage interne de PHP sera utilisé. L'encodage interne peut être obtenu via la fonction mb_internal_encoding().
Il est à noter que mb_strlen n'est pas une fonction principale de PHP. Avant de l'utiliser, vous devez vous assurer que php_mbstring.dll est chargé dans php.ini, c'est-à-dire vous assurer que la ligne "extension=php_mbstring. dll" existe et n'a pas été commenté, sinon ce sera le cas. Un problème de fonction non défini s'est produit.
mb_strlen('abcdef','utf-8') et mb_strlen('one deux trois quatre cinq six', 'utf-8') sont tous deux égaux à 6
trim
echo trim (" ,1,2,3,4,", ","); // Vous obtiendrez 1,2,3,4 avec les chiffres "," coupés aux deux extrémités.
La fonction strcmp() compare deux chaînes.
Remarque : la fonction strcmp() est binaire sécurisée et sensible à la casse.
Cette fonction renvoie :
0 - si les deux chaînes sont égales
9af9b137e6e7ce83d11d5ee5c3ccedb60 - si chaîne1 est supérieure à chaîne2
Lié au HTML
1,htmlspecialchars($string)
Il s'agit de son utilisation la plus simple, convertissant certains caractères spéciaux (comme son nom l'indique) &,',"6580843315dd7804e35fd3743df832ea dans la chaîne en leurs formes d'entité HTML correspondantes :
PHP :
$str = "i love kiki, iwind said."; echo htmlspecialchars($str);
affichera
j'aime 8121d6c8a34839335b283c3765c68ed6kikie6e38b3c62e8df885fe2e3986461aa63, a déclaré iwind.
2,htmlentities ( $string)
Convertir tous les caractères pouvant être convertis en forme d'entité en forme d'entité
3,html_entity_decode($string);
Ajouté après PHP4.3.0, il a l'effet inverse de htmlentities($string) ). Fonction.
4,nl2br($string)
Convertissez tous les caractères de nouvelle ligne de la chaîne en
+ caractères de nouvelle ligne :
PHP: $str = "i love kiki,/n iwind said."; echo nl2br($str);affichera <.>J'adore Kiki,
iwind a déclaré
Recommandations associées :
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!