最近深被php數據庫查詢困擾。 典型的例子就是,取web頁面中某個元素的innerhtml,雖然通過javascript 可以輕松取出, 但是看不到里面是否有“\n” 、“\r” 、“\t”、“ ” 等一些空字符。這給數據查詢帶來了麻煩。 比如說你要查詢的字段$filed_value=test,
最近深被php數據庫查詢困擾。
典型的例子就是,取web頁面中某個元素的innerhtml值,雖然通過javascript 可以輕松取出,
但是看不到值里面是否有“\n” 、“\r” 、“\t”、“ ” 等一些空字符。這給數據查詢帶來了麻煩。
比如說你要查詢的字段值$filed_value="test", 它是一個4個字節長度的字符串。但是在你從web頁面
中取出來的是“test\n”,這個“\n”換行符,你其實看不見。這就導致了你從web頁面中取出了5個字節大小的
字符串,當你在數據庫中查找字段值為”test“的行時,你根本就找不到。mysql_num_rows()的值為0。
這是該怎么辦呢?
可以通過javascript、php去除掉字符串首尾。
1、php去除字符串$str="\rtest\r\n",可以用函數trim(),即trim($str)
2、javascript去除字符串str首尾空白字符,一般是通過正則表達式,也可以利用JQuery中的trim函數
1)str.replace(/(^\s*)|(\s*$)/g, "");
2)$.trim(str);
通過以上兩個方法怎么檢查是否真的去除掉了字符串中的空白字符呢?
大家想的什么方法了呢?不妨分享一下,共同進步。
本人想的的方法是php中的json_encode函數。下圖是利用json_encode函數查看字符串中空白字符的效果圖。
注意,通過json_encode可以看到”\r“、”\n“、 ”\t“等字符。
測試代碼如下:<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PC9wPgo8cHJlIGNsYXNzPQ=="brush:sql;">"svap\n");
$json=json_encode($arr);
echo $json;
echo "\n";
$arr['name']=trim($arr['name']);
$json=json_encode($arr);
echo $json;
?>
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com