


Résumé des compétences en traitement de cha?nes dans le tutoriel d'introduction PHP (conversion, filtrage, analyse, recherche, interception, remplacement, etc.)
Dec 22, 2016 pm 02:02 PM本文實例總結(jié)了PHP字符串處理技巧。分享給大家供大家參考,具體如下:
Demo1.php
<?php //源代碼是文本形式,頁面顯示是 web 形式 $str = ' PHP '; //清理一下兩邊的空格 ltrim 只清理左,rtrim只清理右邊 echo ltrim($str); echo '<br/>'; echo rtrim($str); echo '<br/>'; //兩邊都清理 echo trim($str); //echo chop($str); ?>
Demo2.php
<?php $str = "This is 一站式建網(wǎng)站 \n This is a OneStopWeb"; //但是,我現(xiàn)在想要在網(wǎng)頁中實現(xiàn)換行 //在回帖的時候,一個回車就是 \n //我們通過函數(shù)來實現(xiàn)轉(zhuǎn)換過程 echo nl2br($str); ?>
Demo3.php
<?php //將所有字符轉(zhuǎn)換成 HTML $str = '<strong>閱誰問君誦,水落清香浮。</strong>'; //echo htmlentities($str); //我們只要轉(zhuǎn)換特殊字符即可 //echo htmlspecialchars($str);//<strong>閱誰問君誦,水落清香浮。</strong> echo strip_tags($str); //閱誰問君誦,水落清香浮。 ?>
Demo4.php
<?php $str = 'This is "一站式建網(wǎng)站" \n This is a OneStopWeb'; //對于即將插入數(shù)據(jù)庫的字符串,把有問題的字符處理一下 //echo addslashes($str); //This is \"一站式建網(wǎng)站\" \\n This is a OneStopWeb $a = addslashes($str); //這個 $a 就是寫入數(shù)據(jù)庫的,我拿出來的話,就會有 \ 這個符號 echo stripcslashes($a); //首先將寫進數(shù)據(jù)庫的字符串通過 addslashes() 函數(shù)過濾一下,然后拿出來的時候 //再通過 stripcslashes() 解析一下顯示 ?>
Demo5.php
<?php //將字符串轉(zhuǎn)換成大寫 echo strtoupper('oneStopWeb');//ONESTOPWEB //將字符串轉(zhuǎn)換成小寫 echo strtolower('oneStopWeb');//onestopweb //將第一個字母轉(zhuǎn)換成大寫 echo ucfirst('oneStopWeb'); //OneStopWeb ?>
Demo6.php
<?php $str = 'oneStopWeb'; //echo str_pad($str,11).'is good!'; //oneStopWeb is good! //oneStopWeb### //echo str_pad($str,13,'#') echo str_pad($str,18,'#',STR_PAD_BOTH); echo '<br/>'; echo str_pad($str,18,'#',STR_PAD_LEFT); echo '<br/>'; echo str_pad($str,18,'#',STR_PAD_RIGHT); /** * ####oneStopWeb#### * ########oneStopWeb * oneStopWeb######## * */ ?>
Demo7.php
<?php //explode -- 使用一個字符串分割另一個字符串 //返回的是一個數(shù)組 //explode 第一參數(shù)是分割字符串,第二個參數(shù)是要被分割的字符串 $email = explode('@','oneStopWeb@163.com'); //print_r($email); //Array ( [0] => oneStopWeb [1] => 163.com ) //分割完了之后,我經(jīng)過一輪篩選,還要重新組合 // $arr = array('oneStop','@','163.com'); // $str = implode('&',$arr); // echo $str;//oneStop&@&163.com $str = implode(' - ',$email); echo $str; //oneStopWeb - 163.com ?>
Demo8.php
<?php // $str = 'I will be back'; // $arr = explode(' ',$str); // print_r($arr); //Array ( [0] => I [1] => will [2] => be [3] => back ) $str = 'I,will.be#back'; $tok = strtok($str,',.#'); //echo $tok; while($tok){ echo $tok.'<br/>'; $tok = strtok(',.#'); } // $str = 'I will be back'; // $tok = strtok($str,' '); // //echo $tok; // while($tok){ // echo $tok.'<br/>'; // $tok = strtok(' '); // } // $tok = strtok(' '); // echo $tok;//Iwill // //指針沒有下移,而是重新來了一次 // $tok = strtok($str,' '); // echo $tok; ?>
Demo9.php
<?php $str = 'oneStopWeb@163.com'; //中間的參數(shù)表示開始的位置,位置是從 0 開始的,最后一個參數(shù),是取出的個數(shù) echo substr($str,0,5) ;//oneSt ?>
Demo10.php
<?php //$str = 'oneStopWeb@163.com'; $str = '閱誰問君誦,水落清香浮。'; //中文亂碼 print_r(str_split($str)); ?>
Demo11.php
<?php $str = 'oneStopWeb@163.com'; echo strrev($str); //moc.361@beWpotSeno ?>
Demo12.php
<?php //通過 == 來比較字符串是否一致 //最后的返回值是布爾值 //echo 'a' == 'a'; //比較兩個字符串 //echo strcmp('a','b'); // if(strcmp('a','a') == 0){ // echo '相等'; // } //echo strcasecmp('B','b'); //不區(qū)別大小寫 //目前是非自然排序 //echo strcmp('2','10');//1 //如果按照自然排序方式比較呢? echo strnatcmp('2','10');//-1 ?>
Demo13.php
<?php //strspn //后面兩個數(shù)字的參數(shù),是從第幾位開始,取多少位 echo strspn('one','oneStopWeb@163.com',1,5); ?>
Demo14.php
<?php //測試字符串的長度 echo strlen('oneStopWeb@163.com') ; ?>
Demo15.php
<?php //測試字符串出現(xiàn)的頻率 echo substr_count('oneStopWeb@163.com','o'); ?>
Demo16.php
<?php //從指定的字符串開始輸出之后的字符串 echo strstr('oneStopWeb@163.com','@'); //不區(qū)別大小寫的 echo stristr('oneStopWeb@163.com','s'); ?>
Demo17.php
<?php //查找某字符串最先出現(xiàn)的位置 //位置是從第 0 個位置開始計算,W第一次出現(xiàn)在第 7 個位置上 echo strpos('oneStopWeb@163.com','W'); //最后出現(xiàn)的位置 echo strrpos('oneStopWeb@163.com','o'); ?>
Demo18.php
<?php //字符串替換 //第一個參數(shù)表示要查找的字符串(部分) //第二個參數(shù)表示要替換成的字符串(部分) //第三個參數(shù)表示原來的被替換的完整字符串 //echo str_replace('one','yi','oneStopWeb@163.com');//yiStopWeb@163.com //str_ireplace 是不區(qū)分大小寫 //echo str_ireplace('oNe','yi','oneStopWeb@163.com');//yiStopWeb@163.com //從第一個位置開始(參數(shù)3),取出 5 個來(參數(shù)4),將它替換成 ###(參數(shù)2) echo substr_replace('oneStopWeb@163.com','###',0,5); ?>
Demo19.php
<?php //取中文長度 $str = '閱誰問君誦,水落清香浮。'; //用普通的 strlen 取一個中文字,就算兩個 //echo strlen($str) ; //使用 mb_strlen 來取中文,有第二個參數(shù),字符編碼 echo mb_strlen($str,'GBK');//12 //如果你使用普通的 strlen 這個函數(shù),我取 1 個字符 //采用 mb_substr 來取中文字符 echo mb_substr($str,2,1,'GBK');//問 ?>
Demo20.php
<?php $str = '閱誰問君誦,水落清香浮。'; //求出 o 最先出現(xiàn)的位置 //中文的算法,兩個字符一個中文字 //mb 就算一個 //echo strpos($str,'問');//4 //按中文一個字符來計算,這樣不會出現(xiàn)半個中文的狀態(tài) echo mb_strpos($str,'問',0,'GBK'); ?>
Demo21.php
<?php // $str = '閱誰問君誦,水落清香浮。' ; // echo mb_substr($str,0,1,'GBK'); $str ='閱誰問君誦,水落清香浮。'; //這個就無所謂用 mb_strstr echo strstr($str,'水'); ?>
Demo22.php
<?php $str ='閱誰問君誦,水落清香浮。'; echo mb_substr_count($str,'問','GBK'); ?>
? ?
希望本文所述對大家PHP程序設(shè)計有所幫助。
更多PHP入門教程之字符串處理技巧總結(jié)(轉(zhuǎn)換,過濾,解析,查找,截取,替換等)相關(guān)文章請關(guān)注PHP中文網(wǎng)!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Les problèmes et les solutions courants pour la portée de la variable PHP incluent: 1. La variable globale ne peut pas être accessible dans la fonction, et elle doit être transmise en utilisant le mot-clé ou le paramètre global; 2. La variable statique est déclarée avec statique, et elle n'est initialisée qu'une seule fois et la valeur est maintenue entre plusieurs appels; 3. Des variables hyperglobales telles que $ _get et $ _post peuvent être utilisées directement dans n'importe quelle portée, mais vous devez faire attention au filtrage s?r; 4. Les fonctions anonymes doivent introduire des variables de portée parents via le mot clé Utiliser, et lorsque vous modifiez les variables externes, vous devez passer une référence. La ma?trise de ces règles peut aider à éviter les erreurs et à améliorer la stabilité du code.

Pour gérer en toute sécurité les téléchargements de fichiers PHP, vous devez vérifier la source et taper, contr?ler le nom et le chemin du fichier, définir les restrictions du serveur et traiter les fichiers multimédias deux fois. 1. Vérifiez la source de téléchargement pour empêcher le CSRF via le jeton et détecter le type de mime réel via FINFO_FILE en utilisant le contr?le de liste blanche; 2. Renommez le fichier à une cha?ne aléatoire et déterminez l'extension pour la stocker dans un répertoire non Web en fonction du type de détection; 3. La configuration PHP limite la taille de téléchargement et le répertoire temporaire Nginx / Apache interdit l'accès au répertoire de téléchargement; 4. La bibliothèque GD résait les images pour effacer des données malveillantes potentielles.

Il existe trois méthodes courantes pour le code de commentaire PHP: 1. Utiliser // ou # pour bloquer une ligne de code, et il est recommandé d'utiliser //; 2. Utiliser /.../ pour envelopper des blocs de code avec plusieurs lignes, qui ne peuvent pas être imbriquées mais peuvent être croisées; 3. Compétences combinées Commentaires tels que l'utilisation / if () {} / pour contr?ler les blocs logiques, ou pour améliorer l'efficacité avec les touches de raccourci de l'éditeur, vous devez prêter attention aux symboles de fermeture et éviter les nidification lorsque vous les utilisez.

La clé pour rédiger des commentaires PHP est de clarifier l'objectif et les spécifications. Les commentaires devraient expliquer "pourquoi" plut?t que "ce qui a été fait", en évitant la redondance ou trop de simplicité. 1. Utilisez un format unifié, tel que DocBlock (/ * /) pour les descriptions de classe et de méthode afin d'améliorer la lisibilité et la compatibilité des outils; 2. Soulignez les raisons de la logique, telles que pourquoi les sauts JS doivent être sortis manuellement; 3. Ajoutez une description d'une vue d'ensemble avant le code complexe, décrivez le processus dans les étapes et aidez à comprendre l'idée globale; 4. Utilisez TODO et FIXME Rationalement pour marquer des éléments et des problèmes de taches pour faciliter le suivi et la collaboration ultérieurs. De bonnes annotations peuvent réduire les co?ts de communication et améliorer l'efficacité de la maintenance du code.

AgeneratorInphpisamemory-EfficientwaytoterateOrgedatasetsByyieldingValuesonEatatimeIntedofreturningThemallAtonce.1.GeneratorsUsEtheieldKeywordToproduceValuesondemand, ReducingMemoryUsage.2.TheyAreusefulForHandlingBigloops, ReadingLargeFiles, OR OR.

Toléarnphpeffective, startBySettingUpAlocalServerERironmentUsingToolsLILYXAMPPANDACODEDITERLIGHILLEVSCODE.1) INSTRUSITIONXAMPFORAPACHE, MYSQL, ANDPHP.2) USACODEDEDITORFORSYNTAXSUPPORT.3)

En PHP, vous pouvez utiliser des crochets ou des accolades bouclées pour obtenir des caractères d'index spécifiques à la cha?ne, mais les crochets sont recommandés; L'index commence à partir de 0 et l'accès à l'extérieur de la plage renvoie une valeur nulle et ne peut pas se voir attribuer une valeur; MB_substr est nécessaire pour gérer les caractères multi-octets. Par exemple: $ str = "Hello"; echo $ str [0]; sortie h; et les caractères chinois tels que MB_substr ($ str, 1,1) doivent obtenir le résultat correct; Dans les applications réelles, la longueur de la cha?ne doit être vérifiée avant le boucle, les cha?nes dynamiques doivent être vérifiées pour la validité et les projets multilingues recommandent d'utiliser des fonctions de sécurité multi-octets uniformément.

Toinstallphpquickly, usexAmpPonWindowsorHomebrewonMacos.1.onwindows, downloadAndInstallxAmppp, selectComponents, startapache et placefilesInhtdocs.2.
