Top

PHP PHP核心 Day03

  1. 1.字符串转换

1 1.字符串转换

1.1 问题

将字符串Zend_CONTROLLER_Front转换成Zend_Controller_Front;

将字符串中的特殊符号,如大于号(>)替换成HTML实体。

1.2 方案

首先将字符串统一转换成小写,再将字符串中的下划线用空格替换掉,接着将字符串中的每个单词的首字母大写,在将字符串中的空格用下划线替换;

首先替换字符串中的&符号,如果先替换其它的特殊字符在替换&符号的话,就会出现将之后的&符号都替换成实体。接着替换其它特殊字符>,<,’,”等。

1.3 步骤

第一步,创建标准的PHP文档。

第二步,声明一个变量保存如下字符串。其代码如下:

  1. <?php
  2.     $string="Zend_CONTROLLER_Front";

第三步,先将字符串转换成小写,通过strtolower()。其代码如下:

  1.     $string=strtolower($string);

第四步,在将字符串中的下划线用空格替换掉。其代码如下:

  1.     $string=str_replace('_',' ',$string);

第五步,在将字符串中的单词的首字母大写。其代码如下:

  1.     $string=ucwords($string);

第六步,在将字符串中的空格用_替换掉上,即可完成我们想实现的效果。其代码如下:

  1.     $string=str_replace(' ','_',$string);

第七步,或者可以通过一行代码实现,通过嵌套的形式。其代码如下:

  1. $string="Zend_CONTROLLER_Front";
  2. echo str_replace(' ','_',ucwords(str_replace('_',' ',strtolower($string))));

启动浏览器并且浏览器该文件,其运行效果如图-1所示。

图-1

第八步,声明变量存储如下字符串。其代码如下:

  1. $string=<<<EOF
  2. A>B,
  3. C<D,
  4. King&Queen,
  5. He Said "I'm Fine."
  6. EOF;

第九步,通过字符串替换首先替换&符号,接着在替换其它特殊字符。其代码如下:

  1. $string=str_replace('&','&amp;',$string);
  2. $string=str_replace('>','&gt;',$string);
  3. $string=str_replace('<','&lt;',$string);
  4. $string=str_replace("'",'&#39;',$string);
  5. $string=str_replace('"','&quot;',$string);
  6. echo $string;

启动浏览器并且浏览器该文件,其运行效果如图-2所示。

图-2

1.4 完整代码

01-changeStr.php具体代码实现如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>Insert Title Here</title>
  6. </head>
  7. <body>
  8. <?php
  9. header('content-type:text/html;charset=utf-8');
  10. $string="Zend_CONTROLLER_Front";
  11. //将其转换成Zend_Controller_Front
  12. //首先将字符串转换成小写,通过strtolower()
  13. $string=strtolower($string);
  14. //在将字符串中的下划线用空格替换掉
  15. $string=str_replace('_',' ',$string);
  16. //在将字符串中的单词的首字母大写
  17. $string=ucwords($string);
  18. //在将字符串中的空格用_替换掉上
  19. $string=str_replace(' ','_',$string);
  20. echo $string;
  21. echo '<hr/>';
  22. $string="Zend_CONTROLLER_Front";
  23. echo str_replace(' ','_',ucwords(str_replace('_',' ',strtolower($string))));
  24. echo '<hr/>';
  25. //将字符串中的特殊字符转换成HTML实体
  26. $string=<<<EOF
  27. A>B,
  28. C<D,
  29. King&Queen,
  30. He Said "I'm Fine."
  31. EOF;
  32. //注意:首先替换字符串中的&符号,将其替换成HTML实体&amp;,接着在依次替换其它即可
  33. $string=str_replace('&','&amp;',$string);
  34. $string=str_replace('>','&gt;',$string);
  35. $string=str_replace('<','&lt;',$string);
  36. $string=str_replace("'",'&#39;',$string);
  37. $string=str_replace('"','&quot;',$string);
  38. echo $string;
  39.  
  40. ?>
  41. </body>
  42. </html>