Heim > Backend-Entwicklung > PHP-Tutorial > PHP开发札记系列(二)-字符串使用

PHP开发札记系列(二)-字符串使用

WBOY
Freigeben: 2016-06-13 13:25:18
Original
847 Leute haben es durchsucht

PHP开发笔记系列(二)-字符串使用
   
    经过了《PHP开发笔记系列(一)-PDO使用》,今天开了关于PHP开发中字符串的处理,《PHP开发笔记系列(二)-字符串使用》,形成《PHP开发笔记系列》的第二篇。

    字符串是任何开发语言都必须处理的,在PHP中字符串可以使用单引号(')或双引号(")进行定义。那单引号和双引号不同之处在哪?那就是双引号中的变量会被变量值替换,而单引号中的内容将原样输出。下面将日常程序开发中会碰到的字符串处理场景整理。


1. 以数组形式访问字符串(strlen)

file:str-lengh.php
url:http://localhost:88/str/str-lengh.php
<?php $word = 'Hello, Ryan!';
    echo "String($word)'s length: ".strlen($word)."<br/>";
    
    // for循环访问数组
    //for($i=0; $i<strlen echo></strlen>";
    //}
    
    // while循环访问数组
    $i=0;
    while($i<strlen echo></strlen>";
         $i++
    }
?>
Nach dem Login kopieren

2. 去除文本中的所有HTML标记(strip_tags)
file:str-strip-tags.php
url:http://localhost:88/str/str-strip-tags.php
<?php // 字符串中的所有html标签都闭合
    $text = "<h1>hello world!<h1>hello world!</h1><h1>hello world!</h1>";
    
    // 输出原始的字符串内容
    echo "Original Text:";
    echo $text."<br>";
    
    // 去除所有html标签后进行输出
    echo "Destination Text(After strip_tags)"."<br>";
    echo strip_tags($text)."<br>";

    // 字符串中的html标签不闭合
    $text = "<h1>hello world!";
    
    // 去除所有html标签后进行输出
    echo "Original Text:";
    echo $text."<br>";
    
    // 去除所有html标签后进行输出
    echo "Destination Text(After strip_tags)"."<br>";
    echo strip_tags($text)."<br>";
?>
</h1>
Nach dem Login kopieren

    备注:如果$text的值是

hello world!,少了

,那么

将不会被strip_tags函数去除,从而影响后面的格式输出,使后续的所有输出都有h1标题的样式。



3. 转义html实体(rawurlencode)
file:str-entities.php
url:http://localhost:88/str/str-entities.php
<?php $text = "hello & world!";
    
    echo $text."<br/>";
    
    echo rawurlencode($text)."<br>";
?>
Nach dem Login kopieren


4. 强制文本折行显示(wordwrap)
    wordwrap函数可以按照指定的字符串折行长度,将长文本进行折行。
file:str-wordwrap.php
url:http://localhost:88/str/str-wordwrap.php
<?php $text = "This document covers the JavaTM 2 Platform Standard Edition 5.0 Development Kit (JDK 5.0). Its external version number is 5.0 and internal version number is 1.5.0. For information on a feature of the JDK, click on its component in the diagram below.";
    
    echo "Original text:"."<br/>";
    echo $text."<br>";
    
    echo $text."<hr>";
    
    echo "Destination text(after wrap):"."<br>";
    echo wordwrap($text, 50, "<br>")."<br>";
?>
Nach dem Login kopieren


5. 字符串定位与替换(strpos、str_replace)
    字符串定位使用strpos函数,该函数返回一个字符串在另一个字符串出现的第一个位置,类似于JAVA中String类的indexOf()方法的作用:
file:str-strpos.php
url:http://localhost:88/str/str-strpos.php
<?php $text = "hello world!";
    
    echo strpos($text, "e");  
?>
Nach dem Login kopieren


    字符串替换使用str_replace函数,该函数替换部分字符串中的文本,类似于JAVA中String类的replace()方法的作用:
file:str-strreplace.php
url:http://localhost:88/str/str-strreplace.php
<?php $text = "This document covers the JavaTM 2 Platform Standard Edition 5.0 Development Kit (JDK 5.0). Its external version number is 5.0 and internal version number is 1.5.0. For information on a feature of the JDK, click on its component in the diagram below.";
   
    echo "Original text:"."<br/>";
    echo $text."<br>";
    
    echo "<hr>";
    
    echo "Destination text(replace):"."<br>";
    echo str_replace(" ", "__", $text)."<br>";    
?>
Nach dem Login kopieren


6. 字符串比较(substr_compare)
    字符串比较可用于比较两个字符串间的大小,类似于JAVA中String的compare方法,如果返回值>0,代表第一个字符串比第二个大,反之第二个比第一个大,若为0,表示相等。
file:str-compare.php
url:http://localhost:88/file/str-compare.php
<?php $main_str = 'hello world';
    $str = 'hello world, Ryan!';
    echo substr_compare($main_str, $str, 0);
?>
Nach dem Login kopieren


7. 字符串截取(substr)
    字符串截取可用于从字符串的指定位置截取指定长度的字串,用于子串值抽取很方便。
file:str-sub.php
url:http://localhost:88/file/str-sub.php
<?php $str = 'hello world,today is sunday!';
    $start = strpos($str, ',');
    $newStr = substr($str, $start+1);

    echo 'Original String: '.$str.'<br/>';
    echo 'Destination String: '.$newStr.'<br>';
?>
Nach dem Login kopieren


8. 统计子串出现次数(substr_count)
    统计子串在父串中出现的次数,可以使用substr_count函数。
file:str-count.php
url:http://localhost:88/file/str-count.php
<?php $str = 'abcdefgacef';
    
    echo substr_count($str, 'a');
?>
Nach dem Login kopieren


9. 字符串分拆与拼装(explode、implode)
    字符串分拆可将一个字符串按照一个指定分隔符拆分成数组,类似于JAVA中String类的spilt()方法的作用。字符串组装时将字符串数组按照一个分隔符将数组中的数据进行拼装,形成一个新字符串。
file:str-explode-implode.php
url:http://localhost:88/str/str-explode-implode.php
<?php $text = "This document covers the JavaTM 2 Platform Standard Edition 5.0 Development Kit (JDK 5.0). Its external version number is 5.0 and internal version number is 1.5.0. For information on a feature of the JDK, click on its component in the diagram below.";
   
    echo "Original text:"."<br/>";
    echo $text."<br>";
    
    echo "<hr>";
    
    $sentenses = explode(". ", $text);
    echo "Destination text(explode):"."<br>";
    foreach ($sentenses as $sentense){
        echo $sentense."<br>";
    }
    
    echo "<hr>";
    
    $newText= implode($sentenses, ". ");
    
    echo "Destination text(implode):"."<br>";
    echo $newText."<br>";    
?>
Nach dem Login kopieren


10. 去除字符串的前后空格(trim)
file:str-trim.php
url:http://localhost:88/str/str-trim.php
<?php $text = "   hello world!  ";
    
    echo "Original text:"."<br/>";
    echo strlen($text)."<br>";
    
    echo "<hr>";
    
    echo "Destination text(trim):"."<br>";
    echo strlen(trim($text))."<br>"; 
?>
Nach dem Login kopieren


11. 格式化输出(printf)
    格式化输出使用printf函数或sprintf函数,类似于C语言中的printf函数的作用:
file:str-printf.php
url:http://localhost:88/str/str-printf.php
<?php $format = 'hello, %2$s, userNo: %1$s';
    $who = 'Ryan';
    $no = '10';
    
    echo printf($format, $no, $who);    
?>
Nach dem Login kopieren


    本文地址:http://ryan-d.iteye.com/blog/1543225
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage