PHP中preg函数模式修正符
i 最常见的,大小写忽略模式. m (PCRE_MULTILINE) 多行模式.默认情况下,PCRE将目标字符串作为单一的一"行"字符所组成的(甚至其中包含有换行符也是如此)."行起始"元字符(^)仅仅匹配字符串的起始,"行结束"元字符($)仅仅匹配字符串的结束,或者最后一个字符是换行符时其前面(除非设定了 D 修正符).这和 Perl 是一样的.当设定了此修正符"行起始"和"行结束"除了匹配整个字符串开头和结束外,还分别匹配其中的换行符的之后和之前.这和 Perl 的 /m 修正符是等效的.如果目标字符串中没有"\n"字符或者模式中没有^或$,则设定此修正符没有任何效果. s (PCRE_DOTALL) 如果设定了此修正符,模式中的圆点元字符(.)匹配所有的字符,包括换行符.没有此设定的话,则不包括换行符.这和 Perl 的 /s 修正符是等效的.排除字符类例如 [^a] 总是匹配换行符的,无论是否设定了此修正符. x (PCRE_EXTENDED) 如果设定了此修正符,模式中的空白字符除了被转义的或在字符类中的以外完全被忽略,在未转义的字符类之外的#以及下一个换行符之间的所有字符,包括两头,也都被忽略.这和Perl 的/x 修正符是等效的,使得可以在复杂的模式中加入注释。然而注意,这仅适用于数据字符。空白字符可能永远不会出现于模式中的特殊字符序列,例如引入条件子模式的序列 (?( 中间. e 如果设定了此修正符,preg_replace() 在替换字符串中对逆向引用作正常的替换,将其作为 PHP 代码求值,并用其结果来替换所搜索的字符串, 只有 preg_replace() 使用此修正符,其它 PCRE 函数将忽略之. 注: 本修正符在 PHP3 中不可用. A (PCRE_ANCHORED) 如果设定了此修正符,模式被强制为"anchored",即强制仅从目标字符串的开头开始匹配即自动在模式开头加上^.此效果也可以通过适当的模式本身来实现(在Perl 中实现的唯一方法). D (PCRE_DOLLAR_ENDONLY) 如果设定了此修正符,模式中的美元元字符仅匹配目标字符串的结尾.没有此选项时,如果最后一个字符是换行符的话,美元符号也会匹配此字符之前(但不会匹配任何其它换行符之前).如果设定了m修正符则忽略此选项.Perl 中没有与其等价的修正符. S 当一个模式将被使用若干次时,为加速匹配起见值得先对其进行分析.如果设定了此修正符则会进行额外的分析.目前,分析一个模式仅对没有单一固定起始字符的 non-anchored 模式有用。 U (PCRE_UNGREEDY) 本修正符反转了匹配数量的值使其不是默认的重复,而变成在后面跟上“?”才变得重复.这和 Perl 不兼容.也可以通过在模式之中设定
相关文档:
创建文档类型声明
一般而言,XML声明放在文档顶部。在PHP中声明十分简单:只需实例化一个DOM文档类的对象并赋予它一个版本号。查看程序清单A:
程序清单 A
<?php
// create doctype
$dom = new DOMDocument("1.0");
// display document in browser as plain text
// display document in browser as plain text ......
注:这是从PHPCMS开发文档里看到编码规范,虽名为PHPCMS的开发规范,但我觉得所有的PHP编程都该如此。写了那么多PHP,很多编码对照这规范都感觉欠缺很多,今后一定要对照纠正。
Phpcms 编码规范
1. 引言…. 2
2. 适用范围…. 2
3. 标准化的重要性和好处…. 3
4. PHP编码规范与原则…. 3
4. ......
apache安装,mysql安装,php5直接解压,均放在D:\www下。
目录结构为:
D:\www\apache2
D:\www\mysql
D:\www\php5
将php5\php.ini-dist复制为php.ini,把需要用到的组件将前面的;去掉。
如
extension=php_mysql.dll
extension=php_gd2.dll
在apache2的conf/httpd.conf文件中加
LoadFile D:/www/php5/php5ts.dll
......
PHP字符串函数大全
AddSlashes: 字符串加入斜线。
bin2hex: 二进位转成十六进位。
Chop: 去除连续空白。
Chr: 返回序数值的字符。
chunk_split: 将字符串分成小段。
convert_cyr_string: 转换古斯拉夫字符串成其它字符串。
crypt: 将字符串用 DES 编码加密。
echo: 输出字符串。
explode: 切开字符串。
flush: 清 ......
function _processBeforeDb($str)
{
$str = str_replace ( array ('<', '>' ), array ('<' , '>' ), $str );
if (!get_magic_quotes_runtime()){
return addslashes($str);
}
else
{
return $str;
}
}
......