<?
/**
* 将字符串转换成unicode编码
*
* @param string $input
* @param string $input_charset
* @return string
*/
function str_to_unicode($input, $input_charset = 'gbk'){
$input = iconv($input_charset, "gbk", $input);
preg_match_all("/[x80-xff]?./", $input, $ar);
$b = array_map('utf8_unicode_', $ar[0]);
$outstr = join("", $b);
return $outstr;
}
function utf8_unicode_($c, $input_charset = 'gbk'){
$c = iconv($input_charset, 'utf-8', $c);
return utf8_unicode($c);
}
// utf...
注意单引号和双引号的区别
注意转义字符的使用,",$
注意使用8进制或16进制字符表示 xf6
echo "Hxf6me";//需要察看是否支持此类文字编码
---------------------输出结果----------------------------------------
H鰉e
---------------------------------------------------------------------
1.使用printf()和sprintf()创建格式化的输出
printf()直接输出到输出缓冲区
sprintf()的输出作为字符串返回
如printf("输出内容 %.2fn",$PI());
所有的转换规范都以%开头
数据类型有d-整数,s-字符串,f-浮点数,b-二进制
.2是一个可选的宽度指标,小数点右边输出使用0填充
printf("%.2f",3.14159);
...
单引号,双引号,<<<的区别如下:
单引号:对于单引号中包含的变量,是不作解析的,只是照原样输出。
如:$book = ‘Computer’;
$strTitle = ‘This is $book ’ ; //输出为 This is $book
双引号:对于双引号中包含的变量,PHP会解析。
如:$book = “Computer”;
$strTitle = &...
我们经常会处理来自用户输入或从数据库中读取的数据,可能在你的字符串中有多余的空白或制表符,回车等。存储这些额外的字符是有点浪费空间的。
如果您想要去掉字符串开始和结束的空白可以使用PHP内部函数trim() 。但是, 我们经常想完全清除空白。需要把开始和结束的空白清除掉,将多个空白变为一个空白,使用一个规则来处理同样的类型的其它空白。
完成这些可以使用PHP的正则表达式来完成
下例可以去除额外Whitespace
<?php
$str = " This line containstliberal rn use of whitespace.nn";
// First remove the leading/trailing whitespace
//去掉开始和结束的空白
$str = trim($str);
// N...
图片的拼合用imagecopy()和imagecopyresampled()等函数就可以搞定,到了画文字的时候遇到了一个难题。
文字的模板是保存在一个文本文件中,程序先读取这个文件然后用数据替换掉里面的变量,再使用imagettftext()函数画到图片上,不幸的是画出来的图片居然是乱码@_@……于是上Google搜索相关的问题,发现大部分人都是在说imagettftext()函数中传递的字串要UTF-8编码,而PHP官方手册中也明确写着“UTF-8编码的字串可以直接传递”,可问题是模板文件的编码本来就是UTF-8的,这就有点莫名其妙了。无奈之下我用EmEditor打开原来的模板文件,尝试转换成不同的编码后和GD输出的乱码做对比,结果发现转换到EUC...
现在给出PHP中的完美解决方案,无论是采用普通ASCII码,还是UTF-8格式存储,提交的中文字符奇偶,都没有问题。采用普通文件格式ASCII码存储,保存为testgb.php
<?phpheader("Content-Type: text/vnd.wap.wml;charset=GB2312");echo '<?xml version="1.0" encoding="GB2312"?>';echo '<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">';?><wml><card id="main" title="PHP Web"><p>GET提交,结果:<?php ec...
最近在写bbs中,遇上代码转换问题。寻找了很久,才得到一个比较完善的解决办法,可以彻底还原发文者的原文。以下贴出,供大家指正。系统:linux+php4+oracle8i<?//--标题,名字等字段入库处理(去首尾空格)function trans_string_trim($str) { $str=trim($str); $str=eregi_replace("'","''",$str); $str=stripslashes($str); return $str;}//--文章入库处理,即textarea字段;function trans_string($str) { $str=eregi_replace("'","''",$str); $str=stripslashes($str); return $str;}//--从库中显示在表单中;在text中以trans转换,在textarea中,无需转换,直接...
array preg_split ( string pattern, string subject [, int limit [, int flags]]) 返回一个数组,包含 subject 中沿着与 pattern 匹配的边界所分割的子串。 如果指定了 limit,则最多返回 limit 个子串,如果 limit 是 -1,则意味着没有限制,可以用来继续指定可选参数 flags。 flags 可以是下列标记的任意组合(用按位或运算符 | 组合): PREG_SPLIT_NO_EMPTY 如果设定了本标记,则 preg_split() 只返回非空的成分。 PREG_SPLIT_DE...
Function badchar(str)
badstr="不文明字符列表,用|分开(因发表时不能含有那些字符,所以不能贴出。)"
badword=split(badstr,"|")
For i=0 to Ubound(badword)
If instr(str,badword(i)) > 0 then
badchar=True
Exit For
Else
badchar=False
End If
Next
End Function
Function cutbadchar(str)
badstr="不文明字符列表,用|分开(因发表时不能含有那些字符,所以不能贴出。)"
badword=split(badstr,"|") ...
在現實的DB2應用中大家可能經常會遇到一些錯誤,錯誤的原因是對DB2的限制不太了解而引起的,在此我簡單地總結一下,歡迎大家繼續﹐以便和大家共享﹐共同探討﹐共同近步﹗(以下主要以DB2 7.X為例)。1. CHAR 的最大長度(字節數)<=2542. VARCHAR 的最大長度(字節數)<=326723. LONG VARCHAR 的最大長度(字節數)<=327004. CLOB 的最大長度(字節數)<=21474836475. GRAPHICCHAR 的最大長度(字節數)<=1276. VARGRAPHIC 的最大長度(字節數)<=163367. LONG VARGRAPHIC 的最大長度(字節數)<=163508. DBCLOB 的最大長度(字節數)<=107374...
类别:数据库 -
DB2 查看:119
更新:2014-05-19
在實際的使用中可能會遇到要在表的字段中插入特殊字符的問題,我在此簡單的總結一下,歡迎大家繼續﹐以便和大家共享﹐共同探討﹐共同近步﹗(以下主要以DB2 7.X為例)。1. 插入字符 ' (單引號 ) INSERT INTO DB2ADMIN.AAAA VALUES(''''); INSERT INTO DB2ADMIN.AAAA VALUES('A''''B');2. 插入字符 ~ INSERT INTO DB2ADMIN.AAAA VALUES('~'); INSERT INTO DB2ADMIN.AAAA VALUES('A~B');3. 插入字符 ! I...
类别:数据库 -
DB2 查看:92
更新:2014-05-19
replace函数直接替换mysql数据库中某字段中的特定字符
都是当遇到的时候才,知道有这个功能,简单吧!很省事的、处于工作上的需要,自己写函数太麻烦咯!baidu gg出来还是的东西,其实差手册也有,只是脑子没概念不好查^_^
UPDATE `table_name` SET `field_name` = replace (`field_name`,'from_str','to_str') WHERE `field_name` LIKE '%from_str%'
说明:
table_name —— 表的名字
field_name —— 字段名
from_str —— 需要替换的字符串
to_str —— 替换成的字符串...
最近discuz发布了新的版本,免费了,用的人更多了,以前使用其它论坛程序和discuz2.5/3.0的纷纷转换或升级到discuz4.0,可见discuz作为中国人开发的php论坛程序,确实是非常优秀的,在大家欣喜若狂的时候,也遇到了一些问题
看到不少用户反映转换完以后是乱码的情况,出现这种现象的主要原因是这类用户使用的都是mysql4.1以上的版本.下面作一个说明,希望出现这个问题的朋友都能耐心的把这个文档看完!!!
MySQL 4.1开始,对多语言的支持有了很大变化 (这导致了问题的出现)。尽管大部分的地方 (包括个人使用和主机提供商),MySQL 3、4.0 仍然占主导地位;但 MySQL 4.1 乃至5.0是 MySQL 官方推荐的数据库,已经有主机提供商开始...
使用libiconv. 本文包括libiconv实用简单介绍及几个例子程序。 libiconv实用非常简单,只有3步: 1.使用 conv_t iconv_open (const char* tocode, const char* fromcode); 打开描述符。 fromcode和tocode为编码类型。conv_open的详细介绍看man iconv_open http://www.gnu.org/software/libi ... v/iconv_open.3.html 2.使用 size_t iconv (iconv_t cd, const char* * inbuf, size_t * inbytesleft, char* * outbuf, size_t * outbytesleft); 进行编码转换。详细介绍看man 3 iconv。 http://www.gnu.org/software/libi ... biconv/iconv.3.html 3.close.int iconv_close (iconv_t cd); http://www.gnu.org/software/libi ... /i...
function IsEMail(EMail: String): Boolean; var s: String;ETpos: Integer; begin ETpos:= pos('@', EMail); if ETpos > 1 then begin s:= copy(EMail,ETpos+1,Length(EMail)); if (pos('.', s) > 1) and (pos('.', s) < length(s)) then Result:= true else Result:= false; end else Result:= false; end;
一:各种字符串 字符串是Object Pascal所有数据类型中最有用的类型。许多函数以字符串为传递参数。由于在Delphi中字符串的定义和使用有各种方式,包括Pascal中典型的字符串(String),Delphi支持的长字符串(ANSIString),类似于C语言的字符数组(Array of Char),指向字符的指针(Pchar)等。下面的文章就跟谈谈这些类型在定义和应用中的区别和注意事项。 1. 传统的Pascal字符串 在Pascal中,典型的字符串是一定长度的字符序列。每一字符串有一设定的长度(缺省值为255),下面是一个例子: Var Address:String; Code:String[50]; Address是一长度为255的字符串,Code的最大长度为50。 传统的Pascal字符串长...