02 九 2009 @ 3:27 下午 

在textarea 中输入时以回车来换行排版,但是入库后再读出来,显示时往往会出显没有换行的问题
原因在于textarea中换行用的是 "\n" 正常的HTML中换行是

解决方法:整体过程处理如下
一.表单处理
提交时使用JS把 textarea 中的 \n 替换成<br> ,偷了下懒JS使用了jquery  ^^
<textarea name="tb" rows="2" cols="20" id="tb"></textarea>
<script>
$("#form").submit(function(){
var descrip = $("#tb").val();
descrip=descrip.replace(/\n/g,'<br />');
$("#tb").val(descrip);
}
</script>

二. 服务端处理
使用的是PHP4的原生函数,简单的做了一下入库前的处理
htmlentities(trim($postValue),ENT_QUOTES,"utf-8");
空格处理一下
$str = ereg_replace(" ", "&nbsp;",$str);

三.读取显示
使用PHP的正则函数把读取的<br>还原,然后输出
<?php echo eregi_replace('&lt;br&gt;|&lt;br /&gt;','<br>',$dataStr); ?>

OK,完成! 收工

Posted By: 大宇
Last Edit: 11 六 2010 @ 06:22 下午

EmailPermalinkComments (0)
Tags
Tags: ,
Categories: html, js
 13 三 2009 @ 5:08 下午 

正则其实也势利,削尖头来把钱揣; (指开始符号^和结尾符号$)
特殊符号认不了,弄个倒杠来引路; (指\. \*等特殊符号)
倒杠后面跟小w, 数字字母来表示; (\w跟数字字母;\d跟数字)
倒杠后面跟小d, 只有数字来表示;
倒杠后面跟小a, 报警符号嘀一声;
倒杠后面跟小b, 单词分界或退格;
倒杠后面跟小t, 制表符号很明了;
倒杠后面跟小r, 回车符号知道了;
倒杠后面跟小s, 空格符号很重要;
小写跟罢跟大写,多得实在不得了;
倒杠后面跟大W, 字母数字靠边站;
倒杠后面跟大S, 空白也就靠边站;
倒杠后面跟大D, 数字从此靠边站;
倒框后面跟大B, 不含开头和结尾;

More »

Posted By: 大宇
Last Edit: 13 三 2009 @ 05:08 下午

EmailPermalinkComments (0)
Tags
Tags:
Categories: 正则
 16 九 2008 @ 9:48 上午 

正则表达式(regex)是定义复杂查询的一个强有力的工具。
这里是一个简单的资料,它忽略了一些详细的信息。
正则表达式定义了一个字符串的规则。最简单的正则表达式不包含任何保留字。例如,正则表达式hello只和字符串“hello”匹配。
一般的正则表达式使用了某些特殊的结构,所以它能匹配更多的字符串。例如,正则表达式hello|word既能匹配字符串“hello”也能匹配字符串 “word”。举一个更复杂一点的例子,正则表达式b[an]*s可以匹配字符串“bananas”、“baaaaas” 、“bs”以及其他任何以b开头以s结尾的字符串,中间可以包括任意个a和任意个n的组合。

一个正则表达式中的可以使用以下保留字
^
所匹配的字符串以后面的字符串开头
mysql> select “fonfo” regexp “^fo$”; -> 0(表示不匹配)
mysql> select “fofo” regexp “^fo”; -> 1(表示匹配)
$
所匹配的字符串以前面的字符串结尾
mysql> select “fono” regexp “^fono$”; -> 1(表示匹配)
mysql> select “fono” regexp “^fo$”; -> 0(表示不匹配)
.
匹配任何字符(包括新行)
mysql> select “fofo” regexp “^f.*”; -> 1(表示匹配)
mysql> select “fonfo” regexp “^f.*”; -> 1(表示匹配)
a*
匹配任意多个a(包括空串)
mysql> select “ban” regexp “^ba*n”; -> 1(表示匹配)
mysql> select “baaan” regexp “^ba*n”; -> 1(表示匹配)
mysql> select “bn” regexp “^ba*n”; -> 1(表示匹配)
a+
匹配任意多个a(不包括空串)
mysql> select “ban” regexp “^ba+n”; -> 1(表示匹配)
mysql> select “bn” regexp “^ba+n”; -> 0(表示不匹配)
a?
匹配一个或零个a
mysql> select “bn” regexp “^ba?n”; -> 1(表示匹配)
mysql> select “ban” regexp “^ba?n”; -> 1(表示匹配)
mysql> select “baan” regexp “^ba?n”; -> 0(表示不匹配)
de|abc
匹配de或abc
mysql> select “pi” regexp “pi|apa”; -> 1(表示匹配)
mysql> select “axe” regexp “pi|apa”; -> 0(表示不匹配)
mysql> select “apa” regexp “pi|apa”; -> 1(表示匹配)
mysql> select “apa” regexp “^(pi|apa)$”; -> 1(表示匹配)
mysql> select “pi” regexp “^(pi|apa)$”; -> 1(表示匹配)
mysql> select “pix” regexp “^(pi|apa)$”; -> 0(表示不匹配)
(abc)*
匹配任意多个abc(包括空串)
mysql> select “pi” regexp “^(pi)*$”; -> 1(表示匹配)
mysql> select “pip” regexp “^(pi)*$”; -> 0(表示不匹配)
mysql> select “pipi” regexp “^(pi)*$”; -> 1(表示匹配)
{1}
{2,3}
这是一个更全面的方法,它可以实现前面好几种保留字的功能
a*
可以写成a{0,}
a+
可以写成a{1,}
a?
可以写成a{0,1}
在{}内只有一个整型参数i,表示字符只能出现i次;在{}内有一个整型参数i,后面跟一个“,”,表示字符可以出现i次或i次以上;在{}内只有一个整型参数i,后面跟一个“,”,再跟一个整型参数j,表示字符只能出现i次以上,j次以下(包括i次和j次)。其中的整型参数必须大于等于0,小于等于 re_dup_max(默认是255)。如果有两个参数,第二个必须大于等于第一个
[a-dx]
匹配“a”、“b”、“c”、“d”或“x”
[^a-dx]
匹配除“a”、“b”、“c”、“d”、“x”以外的任何字符。“[”、“]”必须成对使用
mysql> select “axbc” regexp “[a-dxyz]“; -> 1(表示匹配)
mysql> select “axbc” regexp “^[a-dxyz]$”; -> 0(表示不匹配)
mysql> select “axbc” regexp “^[a-dxyz]+$”; -> 1(表示匹配)
mysql> select “axbc” regexp “^[^a-dxyz]+$”; -> 0(表示不匹配)
mysql> select “gheis” regexp “^[^a-dxyz]+$”; -> 1(表示匹配)
mysql> select “gheisa” regexp “^[^a-dxyz]+$”; -> 0(表示不匹配)
————————————————————
[[.characters.]]
表示比较元素的顺序。在括号内的字符顺序是唯一的。但是括号中可以包含通配符, 所以他能匹配更多的字符。举例来说:正则表达式[[.ch.]]*c匹配chchcc的前五个字符。
[=character_class=]
表示相等的类,可以代替类中其他相等的元素,包括它自己。例如,如果o和(+)是一个相等的类的成员,那么[[=o=]]、[[=(+)=]]和[o(+)]是完全等价的。
[:character_class:]
在括号里面,在[:和:]中间是字符类的名字,可以代表属于这个类的所有字符。
字符类的名字有: alnum、digit、punct、alpha、graph、space、blank、lower、upper、cntrl、print和xdigit
mysql> select “justalnums” regexp “[[:alnum:]]+”; -> 1(表示匹配)
mysql> select “!!” regexp “[[:alnum:]]+”; -> 0(表示不匹配)
[[::]]
分别匹配一个单词开头和结尾的空的字符串,这个单词开头和结尾都不是包含在alnum中的字符也不能是下划线。
mysql> select “a word a” regexp “[[::]]”; -> 1(表示匹配)
mysql> select “a xword a” regexp “[[::]]”; -> 0(表示不匹配)
mysql> select “weeknights” regexp “^(wee|week)(knights|nights)$”; -> 1(表示匹配)

Posted By: 大宇
Last Edit: 16 九 2008 @ 09:48 上午

EmailPermalinkComments (0)
Tags
Tags: ,
Categories: mysql, 正则
 13 九 2008 @ 9:17 下午 

PHP中正则表达式详细说明

  PHP继承*NIX的一贯传统,完全支持正规表达式的处理。正规表达式提供了一种高级的,但不直观的字符串匹配和处理的方法。用过PERL的正规表达式的朋友都知道,正规表达式的功能非常强大,但学起来不是那么容易。
  比如:
  
  ^.+@.+\..+$
  
  这段有效却难以理解的代码足够使一些程序员头痛(我就是)或者让他们放弃使用正规表达式。相信当你读完这个教程后,就可以理解这段代码的含义了。
  
  基本模式匹配
  
  一切从最基本的开始。模式,是正规表达式最基本的元素,它们是一组描述字符串特征的字符。模式可以很简单,由普通的字符串组成,也可以非常复杂,往往用特殊的字符表示一个范围内的字符、重复出现,或表示上下文。例如:
  More »

Posted By: 大宇
Last Edit: 13 九 2008 @ 09:17 下午

EmailPermalinkComments (0)
Tags
Tags: ,
Categories: 正则
 15 七 2008 @ 10:50 上午 

ISU是正则的一种模式,该模式是非贪婪模式,只要匹配上就结束

isU都是模式匹配服,
i:同时匹配大小写即大小写不敏感;
s:模式中的圆点元字符(.)匹配所有的字符,包括换行符;
U:本修正符反转了匹配数量的值使其不是默认的重复,而变成在后面跟上“?”才变得重复。

Posted By: 大宇
Last Edit: 15 七 2008 @ 11:57 上午

EmailPermalinkComments (0)
Tags
Tags:
Categories: 正则
 14 七 2008 @ 8:40 上午 

“^\d+$”  //非负整数(正整数 + 0)
“^[0-9]*[1-9][0-9]*$”  //正整数
“^((-\d+)|(0+))$”  //非正整数(负整数 + 0)
“^-[0-9]*[1-9][0-9]*$”  //负整数
“^-?\d+$”    //整数
“^\d+(\.\d+)?$”  //非负浮点数(正浮点数 + 0)
“^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$”  //正浮点数
“^((-\d+(\.\d+)?)|(0+(\.0+)?))$”  //非正浮点数(负浮点数 + 0)
“^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$”  //负浮点数
“^(-?\d+)(\.\d+)?$”  //浮点数
“^[A-Za-z]+$”  //由26个英文字母组成的字符串
“^[A-Z]+$”  //由26个英文字母的大写组成的字符串
“^[a-z]+$”  //由26个英文字母的小写组成的字符串
“^[A-Za-z0-9]+$”  //由数字和26个英文字母组成的字符串
“^\w+$”  //由数字、26个英文字母或者下划线组成的字符串
“^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$”    //email地址
“^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$”  //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/   //  年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/   // 月/日/年
“^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$”   //Emil
“(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?”     //电话号码
“^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$”   //IP地址

More »

Posted By: 大宇
Last Edit: 14 七 2008 @ 08:43 上午

EmailPermalinkComments (0)
Tags
Tags:
Categories: 正则

 Last 50 Posts
Change Theme...
  • Users » 1
  • Posts/Pages » 165
  • Comments » 12
Change Theme...
  • VoidVoid « Default
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater
  • FireFire
  • LightLight

关于



    No Child Pages.

Linux命令手册



    No Child Pages.

php.ini配置



    No Child Pages.

Memcache协议



    No Child Pages.