php字符串操作函数

 1.有时候可能会遇到数据包含在数组或复杂对象中的情况,这些情况下,需要协助php解释器进行处理,可以使用括号{}围起变量,或者使用字符串链接函数'.'

例子:

<?php

$user=array(

'first'=>'liu',

'last'=>'xiang'

);

echo  'hi {$user['first']} {$user['last']}'."<br>";

echo 'hi'.$user['first'].$user['last']."<br>";

?>

2.如何安全的输出字符串

一些字符串具有特殊的含义

输出字符串到浏览器要考虑一下方面

1.是否正在输出一个包含在<a>标记中的URL

2.是否正在输出html表单元素

3.是否希望展示或删除一些html

4.是否需要保留格式

例子:

<?php

$text="ben & jerray ice cream";

echo "<a href='buy.rawurlencode($text)'>".'buy'.htmlentities($text)."</a>";

?>

rawurlencode将字符串编码成URL专用格式 string raeurlencode(string str)

htmlentities()将所有字符都转换为html字符串 string htmlentities(string string);

3.如何保留格式

有两种方法可以实现原来的文本格式

 

第一种是使用<pre>标记

例子:

<?php

$t="this is

a php

script

";

echo "<pre>";

echo $t;

echo "</pre>";

?>

当输出数组的时候 可以用<pre>标记

 

第二种方法

使用nl2br函数将新行字符转换为<br>

例子:

<?php

 

$t="this is

a php

script

";

echo nl2br($t);

?>

4.如何从文本中剥离html标记

 

函数stript_tags删除那些以‘<’开头以‘>’结尾中间的部分,标记以外的文本不作处理

<?php

$t="<a href='regist.html'>link</a>注册页面<b>点击注册</b>";

echo strip_tags($t);

?>

strip_tags还可以加参数,例子strip_tags($t,'<b><i>')

这次将忽略<b><i>标记并剥离其他标记

5.如何强制文本在一定数量的字符后这行显示

 

wordwrap(string,width,break,cut)

 

r参数描述

string

必要参数。指定需要拆分的字符串行

width

可选参数。指定最大的行宽。默认值为75

break

可选参数。指定字符串的拆分符。默认值为“/n”

cut

可选参数。指定是否允许超出长度的字符溢出。默认值为False(不允许溢出

且此函数不会将单词截断
例子:
<?php
$t='this is a function named wordwrap in php';
echo wordwrap($t,4,'<br>');
?>
 
6.执行搜索和替换
例子:
 
  
  
  
  
  1. <?php 
  2. $t='php'
  3. $r="i am learning php script"
  4. echo str_replace($t,'<strong>php</strong>',$r); 
  5. ?> 

str_replace(string,string,string) 有三个参数,第一个是要在第三个参数中查找的字符串,第二个是要替换的字符串,第三个是要

查找的字符串


strpos返回要查找的字符串在相应的字符 第一次出现的位置
 

例子:

   
   
   
   
  1. <?php 
  2. $t='p'
  3. $r="this is a php script"
  4. echo strpos($r,$t);//本函数在$r中查找$t第一次出现的位置,strpos还有第 
  5. //三个参数,用来指定从$r的某个位置开始搜索, 例如strpos($r,$t,12)表示 
  6. //从第12个字符开始查询 
  7. ?> 


substr_replace函数用于更精确的替换字符串或说是插入字符串

例子:

   
   
   
   
  1. <?php 
  2. $t='china'
  3. $r="hi,baby,php"
  4. echo substr_replace($r,$t,3,4); 
  5. ?> 
  6. 第一个参数是要被替换的字符串
  7. 第二个参数是要替换的字符串
  8. 第三个参数指定要在第一个参数替换的位置

如果第三个参数指定的为负数,则它会从文本的末端执行替换

  1. 第四个参数是将要替换掉第一个参数中的多少字符,例如此例将输出“hi,earth,php”
  2. 但是如果我们把4改成6则会输出"hi,earthhp" 
  3. 第四个参数是可选参数,但是如果没有此参数,则会替换后面所有的文本,如果设置为0则不进行替换
  4. 也就是前面所说的执行 插入

7.explode将文本打散为数组

例子:

    
    
    
    
  1.  
  2.       
          
          
          
    1. <?php  
    2. $t=<<<EOF  
    3. one   
    4. two  
    5. three  
    6. EOF;  
    7. $a=explode(PHP_EOL,$t);  
    8. for($i=0;$i<count($a);$i++){  
    9. echo $a[$i];  
    10. }  
    11. ?> 
  3.  
  4. PHP_EOL常量 是当前操作系统的行尾(EOL)字符,使用此常量有利于移植脚本 


implode函数所作的工作于explode正好相反

它能将数组生成一个字符串

例子:

   
   
   
   
  1. <?php   
  2. $t=<<<EOF   
  3. one    
  4. two   
  5. three   
  6. EOF;   
  7. $a=explode(PHP_EOL,$t);   
  8. for($i=0;$i<count($a);$i++){   
  9. echo $a[$i];   
  10. }   
  11. echo implode($a);  
  12. ?>  



8.如何从文本中移除空白字符

trim函数能够移除开始和末端的空白字符

   
   
   
   
  1. <?php 
  2. $t="  this is a test about trim   ,let us see how it works  "
  3. echo $t
  4. echo trim($t); 
  5. ?> 

如果想要移除左边的或者是右边的空白部分那么用ltrim和rtrim

此例子中我的浏览器中没有显示$t中的空白字符


 

 

 

你可能感兴趣的:(职场,休闲,php字符串)