.::: 一路问情 :::.
  • 注册
  • 登录
  • 会员
  • FTP资源中心
  • 七海争霸
  • 社区设施
  • 帮助
.::: 一路问情 :::. » 『建站技术』 » 动态网页PHP编程中字符串5个技巧
征集活动火热进行中,期待你的参与...
‹‹ 上一主题 | 下一主题 ››
发新话题
  • 发新话题
  • 发布投票
  • 发布商品
  • 发布悬赏
  • 发布活动
  • 发布辩论
  • 发布视频
打印

[程序] 动态网页PHP编程中字符串5个技巧

ivanisme
看贴不回的后果

初级会员

帖子
83 
积分
30 
威望
30 点 
金钱
201 元 
好评
0 点 
  • 个人空间
  • 发短消息
  • 加为好友
  • 当前离线
1楼 大 中 小 发表于 2008-2-26 10:05  只看该作者

动态网页PHP编程中字符串5个技巧

字符串
注意单引号和双引号的区别
注意转义字符\的使用\\,\",\$
注意使用8进制或16进制字符表示 \xf6
echo "H\xf6me";//需要察看是否支持此类文字编码
---------------------输出结果----------------------------------------
H鰉e
---------------------------------------------------------------------

1.使用printf()和sprintf()创建格式化的输出

printf()直接输出到输出缓冲区
sprintf()的输出作为字符串返回
如printf("输出内容 %.2f\n",$PI());
所有的转换规范都以%开头
数据类型有d-整数,s-字符串,f-浮点数,b-二进制
.2是一个可选的宽度指标,小数点右边输出使用0填充
printf("%.2f",3.14159);
printf("%10.2f",3.14159);
printf("%.10f",3.14159);
printf("%.9s",abcdefghijklmn);
printf("%5.2f,%f,%7.3f\m",3.14159,3.14159,3.14159);
printf("%b %d %f %s \n",123,123,123,"test");
---------------------输出结果----------------------------------------
3.14 3.143.1415900000abcdefghi 3.14,3.141590, 3.142\m1111011 123 123.000000 test
---------------------------------------------------------------------

2.字符串填充

string str_pad(string input原始字串, int length添加后的总长度[, string padding要填充的字符 [, int pad_type]填充类型])
填充类型有添加在左边STR_PAD_LEFT,默认添在右边,填充在两端STR_PAD_BOTH
$index = array("one"=>1,"two"=>155,"three"=>1679);
echo "
";
echo str_pad("这是标题",50," ",STR_PAD_BOTH)."\n";
foreach($index as $inkey=>$inval)
        echo str_pad($inkey,30,".").str_pad($inval,20,".",STR_PAD_LEFT)."\n";
echo "
";
---------------------输出结果----------------------------------------

                     这是标题                    
one..............................................1
two............................................155
three.........................................1679

---------------------------------------------------------------------
string strtolower(string subject)//转换为小写
string strtoupper(string subject)//转换为大写
string ucfirst(string subject)//首字母大写
string ucwords(string subject)//每个单词首字母大写
string ltrim(string subject)//去左空白
string rtrim(string subject)//去右空白
string trim(string subject)去左右空白,空白包括null,制表符,换行符,回车符和空格
string n12br(string source)//将\n表示的换行符转换为<BR />标记

3.字符串比较

integer strcmp(sting str1,string str2) //str1大于str2返回-1 str1小于str2返回1 str1和str2相等返回0
integer strmcmp(sting str1,string str2,integer length) //第三个参数限制length个字符的比较
print strcmp("aardvark","aardwolf");
print strncmp("aardvark","aardwolf",4);
---------------------输出结果----------------------------------------
-10
---------------------------------------------------------------------
strcasecmp()和strncasecmp()是不区分大小写的比较函数

4.查找和抽取子字符串

string substr(sting source,integer start[,integer length])//从start开始取length个字符
start和length可以使用负值
$var = "abcdefgh";
print substr($var,2);//从0开始计数
print substr($var,2,3);
print substr($var,-1);//从字符串的末尾开始
print substr($var,-5,2);
print substr($var,-5,-2);
---------------------输出结果----------------------------------------
cdefgh
cde
h
de
def

---------------------------------------------------------------------
integer strpos(string haystack,string needle[,integer offset])//查找子字符串的位置,返回第一次出现.
integer strrpos(string haystack,string needle)//只搜索单个字符(多个字符只取第一个),返回最后一次出现的索引.
还有常见的从 字符串中抽取找到的部分 的函数
string strstr(string haystack,string needle)//不区分大小写
string stristr(string haystack,string needle)//区分大小写
string strrchr(string haystack,sting needle)
*********** array explode(string separator,string subject[,integer limit])//返回一个字符串数组
array implode(string glue,array pieces)//返回一个字符串
///////////////////////////代码段////////////////////////////////////////
$guest = "this is a string";
$guestArray = explode(" ",$guest);
var_dump($guestArray);
sort($guestArray);
echo implode(",",$guestArray);
////////////////////////////////////////////////////////////////////////
---------------------输出结果----------------------------------------
array(4) { [0]=> string(4) "this" [1]=> string(2) "is" [2]=> string(1) "a" [3]=> string(6) "string" } a,is,string,this
---------------------------------------------------------------------

5.替换字符和子字符串

string substr_replace(string source,string replace,int start[,int length])



QQ
UID
73836 
精华
0 
积分
30 
钻石
0 克拉 
宣传
0 点 
来路
搜索引擎 
阅读权限
10 
来自
上海 
在线时间
0 小时 
注册时间
2008-2-25 
最后登录
2008-2-26 

查看详细资料

TOP

玉书林风

初级会员

帖子
98 
积分
21 
威望
21 点 
金钱
105 元 
好评
0 点 
  • 个人空间
  • 发短消息
  • 加为好友
  • 当前离线
2楼 大 中 小 发表于 2008-3-26 10:59  只看该作者
看贴回贴,,,...




QQ
UID
75031 
精华
0 
积分
21 
钻石
0 克拉 
宣传
0 点 
来路
搜索引擎 
阅读权限
10 
性别
男 
来自
东莞 
在线时间
10 小时 
注册时间
2008-2-27 
最后登录
2008-4-5 

查看详细资料

TOP

sever

初级会员

帖子
4 
积分
11 
威望
11 点 
金钱
46 元 
好评
0 点 
  • 个人空间
  • 发短消息
  • 加为好友
  • 当前离线
3楼 大 中 小 发表于 2008-3-26 20:44  只看该作者
学习了,谢谢,有些还是不明白



QQ
UID
87115 
精华
0 
积分
11 
钻石
0 克拉 
宣传
0 点 
来路
朋友介绍 
阅读权限
10 
性别
女 
来自
北京 
在线时间
0 小时 
注册时间
2008-3-26 
最后登录
2008-3-26 

查看详细资料

TOP

w360043552
看贴不回的后果

初级会员

帖子
52 
积分
39 
威望
39 点 
金钱
48 元 
好评
10 点 
  • 个人空间
  • 发短消息
  • 加为好友
  • 当前离线
4楼 大 中 小 发表于 2008-3-27 12:19  只看该作者
恩

值得学习



QQ
UID
51093 
精华
0 
积分
39 
钻石
0 克拉 
宣传
0 点 
来路
搜索引擎 
阅读权限
10 
性别
男 
来自
sadasd 
在线时间
2 小时 
注册时间
2007-12-18 
最后登录
2008-4-9 

查看详细资料

TOP

‹‹ 上一主题 | 下一主题 ››
发新话题
 

 

当前时区 GMT+8, 现在时间是 2008-5-18 09:47 蜀ICP备08000616号

清除 Cookies - 联系我们 - Ask Love - Archiver - WAP - TOP

Powered by Discuz! 6.0.0 []

Processed in 0.028856 second(s), 6 queries, Gzip enabled.

  • 控制面板首页
  • 编辑个人资料
  • 积分交易
  • 积分记录
  • 公众用户组
  • 个人空间管理
  • 资源中心
  • 名人堂
  • 社区银行
  • 醒目高亮
  • 勋章中心
  • 空间互踩
  • 便民查询
  • 邮箱图标
征集活动火热进行中,期待你的参与...
一路问情友情提示你:单帖回复不可以三帖连续哦!
论坛是我家,维护靠大家!--问情宣
论坛是我家,维护靠大家!--问情宣
一路问情友情提示你:单帖回复不可以三帖连续哦!