php关于字符串比较的一些坑,回顾一下加深记忆。 1、当两个字符进行大小比较时,是比较着这两个字符的ASCII码大小,这条很容易理解。 2、当两个字符串进行大小比较时,是从第一个字符开始,分别比教对应的ASCII大小,只要从从某个对应位置开始,其中一个字符串的当前位置字符大于另一个字符串对应位置字符,即直接判别出这两个字符串大小,如'ba'>'az',因为b的ASCII大于a,所以直接返回结果,'abc'>'aac',第一个字符a的ASCII相......
php获取字符串宽度。 /** * 获取字符串宽度,半角字符1=1,非半角角字符1=2 * @param string $str * @return float|int */ function strwidth($str) { $charcount = mb_strlen($str, 'utf-8'); $pattern = '/[[:print:][:space:]]/u'; $halfcount = 0; if (preg_match_all($pattern, $str, $_match)) { $halfcount = sizeof($_match[0]); } return $halfcount + ($charcount - $halfcount......
php处理提交字符串的函数,彻底杜绝各种攻击。 /** * 字符串处理,主要处理html字符 * @param string $str * @param bool $flip 处理http提交参数使用false,从数据库读出来展示到页面使用true * @return string */ function doStr($str, $flip = false) { if (!$str) { return $str; } if ($flip) {//当从数据库读出来显示到页面上的时候 $str = htmlspecialchars_decode($str); if......
JS中字符串与数组的转换,类似PHP的explode implode 。 js 数组转字符串 join var a = new Array(1, 2, 3, 4, 5, 6); var b = a.join(","); alert(b); js 字符串转数组 split var a = "1,2,3,4,5,6"; var b = new Array(); b = a.split(","); alert(typeof b); alert(b);
php将字符串中连续的某个字符替换为一个。 /** * php将字符串中连续的某个字符替换为一个 * @param string $search * @param string $replace * @param string $subject * @return string */ function str_replace_multiple_consecutive($search, $replace, $subject) { return (string)preg_replace("/[" . $search . "]+/i", $replace, $subject); } 示例: $str = ",,,,www.####phpernote##.com,,,,我喜欢,......
vi/vim 中可以使用 :s 命令来替换字符串。 以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。 :s/taobao/phpernote/ 替换当前行第一个 taobao 为 phpernote :s/taobao/phpernote/g 替换当前行所有 taobao 为 phpernote :n,$s/taobao/phpernote/ 替换第 n 行开始到最后一行中每一行的第一个 taobao 为 phpernote :n,$s/taobao/phpernote/g 替换第 ......
使用vim统计字符串出现的次数。 关键命令: :%s/pattern//gn 参数说明: % - 指明操作区间,%表示全文本;可以使用1,$或者行区间代替 s – substitute,表示替换 pattern - 要查找的字符串 // - 替代文本应该放在这里,两个斜杠中间没有任何字符表示无替代文本 g – Replace all occurences in the line. Without this argument, replacement occurs only for the first occurence in each line. n – Report the number......
String对象的方法 方法一: indexOf() (推荐) var str = "123"; console.log(str.indexOf("3") != -1 ); // true indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果要检索的字符串值没有出现,则该方法返回 -1。 方法二: search() var str = "123"; console.log(str.search("3") != -1 ); // true search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。如果没有......
php使用正则表达式判断字符串是否是md5字符串,代码如下: /** * @param $password * @return bool */ function is_md5($password) { return (bool)preg_match("/^[a-z0-9]{32}$/", $password); }
在PHP中 == 和 === 都是进行数值匹配判断 == 只进行数值判断 === 进行数值加变量类型判断 $v1 = "1"; $v2 = 1; if ($v1 == $v2) { echo("true<br/>"); } else { echo("false<br />"); } if ($v1 === $v2) { echo("true<br/>"); } else { echo("false<br />"); } 输出: true false 本文主要讨论在进行 == 判断时 数字和字符串(字符)之间的关系 在php中 == 判断时,当数字与字符串作比较时......
mysql 更新某个字段(在某个字段的前面或后面追加字符串)。 例如: 有个 user 表,现在需要将该表的 username 字段值后面都追加上 _phpernote 字符,则可以: UPDATE user SET username=CONCAT(username,'_phpernote');
PHP有个计算两个文本字符串相似度的函数similar_text(),可以得出一个百分比来表示两个字符串的相似程度。效果如下: similar_text('aaaa', 'aaaa', $percent); var_dump($percent); //float(100) similar_text('aaaa', 'aaaabbbb', $percent); var_dump($percent); //float(66.666666666667) similar_text('abcdef', 'aabcdefg', $percent); var_dump($percent); //float(85.714285714286) 利用这个函数,可以用来做模糊搜索的......
php截取指定2个字符之间字符串的方法。 function get_between($content, $start_char, $end_char) { $substr = substr($content, strlen($start_char) + strpos($content, $start_char), (strlen($content) - strpos($content, $end_char)) * (-1)); return $substr; }
分享两个常用的正则表达式,php检查字符串是否由汉字,数字,英文字母,下划线组成,注意这里只是针对utf-8字符集的字符串检查。 数字 汉字 英文字母 下划线 if (!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]+$/u", $str)) { echo "<font color=red>您输入的[" . $str . "]含有违法字符</font>"; } 数字 汉字 英文字母 if (!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9]+$/u", $str)) { echo......
在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键。例如: JSON字符串: var jsonStr = '{"name":"phpernote", "password":"1111"}'; JSON对象: var jsonObj = {"name":"phpernote", "password":"1111"}; 1、String转换为Json对象 var jsonObj = eval('(' + jsonStr + ')'); 2.Json对象转换为String字符串 var jsonStr = j......
这里记录两种在linux系统中,在目录中查找含有指定字符串的所有文件的方法。 如果你需要查找目录中所有含有 hh.hhsy.cc 字符串的文件,可以使用如下命令: (1)grep -rn 'hh.hhsy.cc' * 关于grep一些常用的参数解释如下: * 表示当前目录所有文件,也可以是某个文件名 -r 是递归查找 -n 是显示行号 -R 查找所有文件包含子目录 -i 忽略大小写,默认是区分大小写的 -l 只列出匹配的文件名 -L ......
linux系统中,如果你想在当前目录下查找所有包含"phpernote"字符串的文件,可以这样输入命令: grep -rn "phpernote" * * : 表示当前目录所有文件,也可以是某个文件名,可省略 -r 是递归查找 -n 是显示行号 -R 查找所有文件包含子目录 -i 忽略大小写,默认情况区分大小写 -l 只列出匹配的文件名 -L 列出不匹配的文件名 -w 只匹配整个单词,而不是字符串的一部分(如匹配 'magic',而不是......
使用js+php做ajax开发的过程中经常需要进行数据格式的转换。这个过程中经常使用的字符格式一般是json格式。在服务端使用php输出json格式的字符数据通常使用的是json_encode函数,在客户端接受数据后进行转换一般有两种方法。 (1)eval方法 var result=eval(""(+data+)""); (2)JQuery.parseJSON方法(这个是jquery里面的方法) var result=JQuery.parseJSON(data);//或者$.parseJSON(data); 这里对json_encode做一下备......
ThinkPHP 3.1.3貌似没有内置的截取中文字符串的方法,找了半天没找到,下面作者自己加了一个截取中文字符串的函数,具体代码如下,有需要的朋友可以参考下。 以下代码加在项目所在目录的Common目录下的common.php文件里面的,比如作者的就是www/Common/common.php文件,当然你也可以直接加到thinkphp的Common/common.php文件里面,这样就所有的项目都可以使用了。 function truncate_cn($string,$length=0,$ellipsis='…',$sta......
列举几个php语言中被遗忘的一些但功能非常强大的字符串处理函数,这里就不对其用法一个个举例了,感兴趣的朋友可以自己测试。 (PHP 4 >= 4.0.4, PHP 5) 函数原型 bool ctype_alnum ( string text ) ctype_alnum -- Check for alphanumeric character(s) 检测是否是只包含[A-Za-z0-9] 函数原型 bool ctype_alpha ( string text ) ctype_alpha -- Check for alphabetic character(s) 检测是否是只包含[A-Za-z] ctype_cntrl......
使用codeIgniter(简称CI)做网站的朋友应该都会发现网站的任何url默认都会带个index.php,这个从SEO的角度上来说,对网站的影响是不大的,但是url的美观上来说,这个是非常让人不舒服的,下面我们就来看看如何去除使用codeIgniter开发的网站的url里面的index.php这几个字符吧。 做以下操作之前请确定你网站所运行的环境支持使用 .htaccess 进行url重写,如果可以的话,请继续往下看: 在网站根目录新建一个 .htaccess 文件,输......
写js的时候经常会遇到数组和字符串互相转换的情况,那么这个在js中该如何办呢?下面就让我们通过一个例子去了解吧! var a=new Array(0,1,2,3,4);//数组 var b='';//字符串 b=a.join('-');//通过join函数将数组转换为字符串,当然你也可以a.join('')这样来写 document.write(b); 输出结果:0-1-2-3-4 下面我们再将这个字符串转换为数组 var s=s.split('-');//通过split函数以-为分割将字符串转换为数组 这样得到的结果......
php 实现清除文本字符串或html字符串中的多个连续空格的方法,具体代码如下: /** function 合并多个连续空格 */ function merge_spaces($string){ return str_replace(array(' ',' '),'',$string); }
php里字符串替换的函数,有str_replace()、str_ireplace()、substr_replace()、preg_replace()、strtr()等几个,程序员在写程序的时候,往往会根据自己的习惯以及实际情况选用其中一个或多个。这几个函数虽然都有字符串替换的功能,但它们无论从语法到作用,还是速度和效率上都有所不同,所以并非在任何场合都可以使用它们。 str_replace()与preg_replace()的区别 在字符串替换的函数里,str_replace()的使用率是最高的,它的用......
php中如何判断字符串的长度?很多人第一想到的应该就是 strlen() mb_strlen() 这些函数了。但是从程序性能上来讲,这两个函数在判断字符串长度的过程中都不是最佳的,虽然他们是专业级的检测字符串长度的函数。 通过本人实践总结,php判断字符串长度,使用isset()在速度上比strlen()更快,执行效率更高。 那么isset()速度为什么比strlen()更快呢? strlen()函数函数执行起来相当快,因为它不做任何计算,只返回在zval 结构(C的......
本文主要介绍的是使用 addslashes,mysql_escape_string 和 mysql_real_escape_string 这三个函数对用户提交的表单数据进行转义处理的用法和区别。 首先需要明确的是addslashes,mysql_escape_string和mysql_real_escape_string这三个函数都是对即将要插入到数据库中的数据进行过滤从而保证插入到数据库中的数据的安全,防止数据库遭到攻击。那么这三个函数有些什么区别呢? addslashes() 函数在指定的预定义字符前添加反斜杠。......
php 字符串处理函数大总结,这些都是系统自带的php字符串处理函数。 addcslashes — 为字符串里面的部分字符添加反斜线转义字符 addslashes — 用指定的方式对字符串里面的字符进行转义 bin2hex — 将二进制数据转换成十六进制表示 chop — rtrim() 的别名函数 chr — 返回一个字符的ASCII码 chunk_split — 按一定的字符长度将字符串分割成小块 convert_cyr_string — 将斯拉夫语字符转换为别的字符 convert_uudecode — ......
在PHP中,有两个函数与字符串的转义有关,他们分别是 addslashes 和 stripslashes。 addslashes($string), 在指定的预定义字符前添加反斜杠 (\),用于为存储在数据库中的字符串以及数据库查询语句准备合适的字符串。 注释:默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET、POST 和 COOKIE 数据自动运行 addslashes()。不要对已经被 magic_quotes_gpc 转义过的字符串使用 addslashes(),因为这样会导致双层转义。遇......
php 将字符串中的连续多个空格转换为一个空格。 /** * 多个连续空格只保留一个 * * @param string $string 待转换的字符串 * @return string $string 转换后的字符串 */ function merge_spaces($string){ return preg_replace("/\s(?=\s)/","\\1",$string); }
php 最精确的字符串长度截取函数,说是最精确截取长度,其实我也不敢确定是否是最精确的,具体有多精确看下面的效果就知道了: 先上测试用的字符串: <?php header("Content-Type:text/html;charset=utf-8"); echo cn_substr_utf8('我是一个,和哈,哦也,,国家!',12); echo '<br />',cn_substr_utf8('ai\'2145m a ch3我[是一,个,和哈,哦也,,国家!',12); echo '<br />',cn_substr_utf8('【我,是一,个,和哈,......