Ⅰ php 中ereg函数的应用问题,这函数是怎么用的
先看看他的参数ereg(匹配模式,字符串,返回数组)。
其中匹配模式一般是正则表达式,如你的例子中正则模式是linux 下的grep命令的匹配,[[:alpha:]] 代表字母[[:alnum:]] 代表字母与数字字符;第二个参数是字符串,指你需要用正则模式来匹配检验的对象;
最后返回匹配结果,放到一个数组中,var_mp函数是打印数组的函数,$register即你这段代码匹配的结果数组。
其实不明白最好是看手册,手册才是王道啊。。
Ⅱ php如何设置,上传图片水印透明度
其实你这个问题很好解决,可能你对gd库函数不是太了解.想要调整水印可以使用imagemerge()这个函数.它最后一个函数就是调节alpha透明度的,
boolimagemerge(resource$dst_im,resource$src_im,int$dst_x,int$dst_y,int$src_x,int$src_y,int$src_w,int$src_h,int$pct)
当 pct = 0 时,实际上什么也没做,当为 100 时对于调色板图像本函数和 image() 完全一样,它对真彩色图像实现了 alpha 透明。
<?php
/**
*();
*bySinaSalek
*
*BugfixbyRalphVoigt(bugwhichcausesit
*toworkonlyfor$src_x=$src_y=0.
*Also,.)
*08-JAN-2011
*
**/
functionimagemerge_alpha($dst_im,$src_im,$dst_x,$dst_y,$src_x,$src_y,$src_w,$src_h,$pct){
//creatingacutresource
$cut=imagecreatetruecolor($src_w,$src_h);
//
image($cut,$dst_im,0,0,$dst_x,$dst_y,$src_w,$src_h);
//
image($cut,$src_im,0,0,$src_x,$src_y,$src_w,$src_h);
//
imagemerge($dst_im,$cut,$dst_x,$dst_y,0,0,$src_w,$src_h,$pct);
}
?>
Ⅲ 掌握PHP 中的正则表达式,第 2 部分: 如何在 PHP 中处理文本
虽然术语数据 和信息 可以互换使用,但是两者之间有很大的差别。数据是有据可依的。温度列表、近期销售状况说明或者库存零部件清单,这些都是数据。信息含有一定见解。天气预报、损益表和销售趋势属于信息。数据是由若干个 1 和 0 表示,而信息则经由人脑分析得出。数据和信息之间是软件应用程序:引擎将把数据和信息来回转换。例如,如果在线购买图书,购书应用程序将把信息 —— 书名、身份信息、银行帐号信息 —— 转换为数据,例如订单号、售价、信用卡交易详细信息和对存货清单的调整。类似地,购书应用程序将把数据再转换为仓库提货请求、运输标签和跟踪编号等完成销售所需的信息。当然,创建应用程序的复杂度与其影响的转换直接成正比。Web 站点留言本十分简单,它把姓名和地址转换为数据库中的字段。同时,在线商店十分复杂,它将把各类信息转换为业务数据模型并把数据转换为信息来推动决策。编程的艺术在于对数据和信息的熟练处理 —— 类似于在明暗处理中捕捉亮色的技能。如第1 部分 中所述,regex 是处理数据的最强大工具之一。使用简明的简写方式,regex 说明了数据的格式并分解数据。例如,您可以使用下面的 regex 处理所有摄氏或华氏温度:/^([+-]?[0-9]+)([CF])$/。regex 将匹配行的开头(由脱字符号 ^ 表示),后接一个正号,一个负号,或者两者都不是 ([+-]?),后接一个整数 ([0-9]+),数值范围限定符 —— 摄氏或华氏 ([CF])—— 并在行尾(用美元符号 $ 表示)终止。在温度 regex 中,行开头和行结尾操作符是两个零宽度断言 示例,或者匹配位置而非文字。括号也不是文字。相反,嵌入到括号内的模式将捕捉匹配模式的文本。因此,如果文本匹配了整个模式,第一组括号将生成表示一个正整数或负整数的的字符串,例如 +49。第二组括号将生成字母 C 或F。 第1 部分介绍了 regex 的概念和可用于比较文本与模式和提取匹配的 PHP 函数。现在我将更深入地研究 regex 并查看一些高级操作符和处理方法。(再次)使用括号在大多数情况下,使用一组括号可以定义子模式和捕捉匹配子模式的文本。但是,括号不需要捕捉子模式。正如在复杂的数学公式中,您可以简单地使用括号来给术语分组。下面是一个示例。您能否说出它匹配哪类数据? /[-a-z0-9]+(?:\.[-a-z0-9]+)*\.(?:com|e|info)/i 您可能已经预料到此 regex 将匹配主机名(虽然只在 .com、.e 和 .info 这几个域中)。差别是添加了 ?:。子模式限定符 ?: 将禁用捕捉,留下括号来阐明操作的优先次序。例如,在这里,短句 (?:\.[-a-z0-9]+)* 将匹配零个或多个字符串实例(例如 “.ibm”)。类似地,短句 \.(?:com|e|info) 表示句点,后接字符串 com、e 或info 中的任意一个。禁用捕捉可能看似毫无意义,直至您意识到捕捉需要额外的处理。如果代码将处理大量数据,则忽略捕捉可能是有意义的。此外,如果 regex 特别复杂,禁用某些子模式中的捕捉可以更轻松地提取真正感兴趣的子模式。注:使用regex 末尾的 i 修饰语可以使模式内的所有匹配都不区分大小写。因此,子集 a-z 将匹配所有字母,而不区分大小写。PHP 将提供其他子模式修饰词。使用第 1 部分中提供的 regex 测试 jig(如 清单1 所示),将针对候选字符串 “EDU”、“e” 和“E” 匹配 regex ((?i)e)。如果子模式以修饰词 (?i) 为开头,则在子模式中进行匹配不区分大小写。只要子模式结束,区分大小写将被重新启用(将此修饰词与上面的 /.../i 修饰词相比较,后者应用于整个模式)。清单1. 简单的 regex 测试实用程序 另一个有用的子模式修饰词是 (?x)。它允许您在子模式中嵌入空白,使 regex 更易读。因而,子模式 ((?x) e | com | info)(请注意备用操作符之间的空格,这些空格是为了易读性而添加的)与 (e|com|info) 相同。您可以使用全局修饰词 /.../x 在整个 regex 中嵌入空白和注释,如下所示:清单2. 嵌入空白和注释 $matches = preg_grep( "/ [- a-z 0-9]+ # machine name (?: \. [- a-z 0-9]+)* # subdomains \. (?: com | e | info)# domain /xi", $words ); 正如您所见,还可以根据需要组合修饰词。另外,如果需要在使用 (?x) 时匹配空格,那么,使用元字符 \s 来匹配所有空格字符或使用 \ (反斜杠后接空格)来匹配单个空格,如 ((?x) hello \ there)。回页首其他应用regex 的大量应用都是验证或分解存储为存储库中的数据或由应用程序立即执行的各个小块的输入。处理表单中的字段、解析 XML 代码以及解释协议都是典型应用。regex 的另一个应用是格式化、规范化或提高数据的可读性。格式化不是使用 regex 查找和提取文本,而是使用 regex 查找并在正确位置插入文本。下面是一个有用的格式化应用程序。假定 Web 表单把按照美元计算的薪金提交给应用程序。由于把薪金存储为整数,因此应用程序必须先去掉所粘贴数据中的标点符号,然后再保存。但是,在从存储库中检索出数据时,则需要使用逗号重新设定数据的格式使其具有可读性。下面显示了一个用于把美元金额转换为数字的简单 PHP 调用。清单3. 把美元金额转换为数字 $salary = preg_replace( "/[\$\s,]/", '', $_REQUEST[ 'salary' ] ); if ( is_numeric( $salary ) ) { // persist the data } else { // error } 调用preg_replace() 函数将用空字符串替换美元符号、所有空格和每个逗号,生成认为是整数的内容。如果调用 is_numeric() 对输入进行了验证,则可以存储数据。接下来,让我们反向操作输出带有货币符号和用于分隔百、千、百万的逗号的数字。您可以编写代码来查找这些数字单元,也可以使用向前查找 和向后查找 在正确位置上插入逗号。子模式修饰词 ? "Wicked" [1] => "Mirror, Mirror." ) regex ".*?" 变为匹配一个引号,后接刚好足够的 字符,后接一个引号。但是,使用 * 操作符有时可能太懒惰。例如,采用以下代码片段。它将生成什么输出?清单7. 简单的 regex 测试实用程序 if (preg_match( "/([0-9]*)/", "-123", $matches ) ) { print_r( $matches ); } 猜测输出是什么?“123”?“1”?没有输出?实际上,输出是 Array ( [0] => [1] => ),表示找到一个匹配,但是未捕捉到任何内容。为什么?回想一下操作符 * 可以匹配零次或多次。在这里,表达式 [0-9]* 针对字符串开头匹配零次,随后停止处理。要解决此问题,请添加零宽度断言来锚定匹配,这将强制 regex 引擎继续进行匹配;/([0-9]*\b/ 就可解决问题。回页首更多提示和技巧regex 可以解决简单或复杂的文本处理问题。首先掌握一些操作符,随着经验逐渐丰富,您可以进一步扩展词汇表。要立即开始使用,请参考下面这些提示和技巧。用字符类实现可移植的 regex您已经看到过匹配所有空格字符的元字符,例如 \s。此外,许多 regex 实现都支持更易于跨多种编写语言使用和移植的预定义字符类。例如,字符类 [:punct:] 表示当前语言环境中的所有标点字符。您可以使用 [:digit:] 代替[0-9],并且 [:alpha:] 是比[-a-zA-Z0-9_] 更具有可移植性的替代者。例如,您可以使用以下语句移除字符串中的所有标点符号: $clean = preg_replace( "/[[:punct:]]/", '', $string ); 使用字符类比清楚说明所有标点符号更简洁。要获得字符类的完整列表,请参阅适用于您的 PHP 版本的文档。排除不需要查找的内容与将逗号分隔的值 (CSV) 转换为用制表符分隔的数据一样,列出不 需要匹配的内容有时更容易也更精确。以脱字符号 (^) 为开头的集合将匹配集合中不包括的所有字符。例如,您可以使用正则表达式 /[2-9][0-9]{2}[2-9][0-9]{2}[0-9]{4}/ 来验证美国电话号码。使用排除集合,可以把 regex 编写为更显式的 /[^01][0-9]{2}[^01][0-9]{2}[0-9]{4}/。两个 regex 都可以正常运行,但是显然后者意图更加明显。跳过换行符如果输入跨度多行,则使用典型的 regex 是不够的,因为扫描将在 $ 所指示的换行符处终止。但是,如果使用 s 或m 修饰词,regex 引擎将按照不同的方式处理输入。前者将把字符串处理为单行,强制用点匹配换行符(它通常不这样做)。后者将把字符串处理为多行,其中 ^ 和$ 将分别匹配每行的开头和结尾。下面是一个示例:如果设置 $string = "Hello,\nthere";,则语句 preg_match( "/.*/s", $string, $matches) 将把$matches[0] 设为Hello,\nthere(删除 s 将生成 Hello)。正则表达式几乎无所不能,也许惟一的限制因素就是您的想象力和创造力了。参考资料 学习 您可以参阅本文在 developerWorks 全球站点上的 英文原文。
阅读“掌握PHP 中的正则表达式” 系列中的其他文章。
PHP.net 是PHP 开发者的重要资源。
查阅“PHP 推荐读物列表”。
浏览developerWorks 上的全部 PHP 文章和PHP 教程。
查看IBM developerWorks 的 PHP 项目资源 扩展PHP 技巧。
收听针对软件开发人员的有趣访谈和讨论,一定要访问 developerWorks podcast。
要将数据库与 PHP 结合使用?查看 Zend Core for IBM,它是一个无缝的、可以立即使用、易于安装、支持 IBM DB2 V9 的 PHP 开发和生产环境。
随时关注 developerWorks 的 技术事件和网络广播。
查阅最近将在全球举办的面向 IBM 开放源码开发人员的研讨会、交易展览、网络广播和其他 活动。
访问developerWorks 开放源码专区,获得丰富的 how-to 信息、工具和项目更新,帮助您用开放源码技术进行开发,并与 IBM 产品结合使用。
查看免费的 developerWorks On demand demo 观看并了解 IBM 及开源技术和产品功能。
获得产品和技术使用IBM 试用软件,改进您的下一个开发项目,这些软件可以通过下载或从 DVD 中获得。
下载IBM 产品评估版,并开始使用 DB2�0�3、Lotus�0�3、Rational�0�3、Tivoli�0�3 和 WebSphere�0�3 的应用程序开发工具和中间件产品。
讨论参与developerWorks blog 并加入 developerWorks 社区。
关于作者Martin Streicher 是 McClatchy Interactive 的首席技术官、Linux Magazine 的主编、Web 开发人员以及 developerWorks 的定期投稿者。他毕业于普渡大学并获得计算机科学硕士学位,从 1986 年起他一直从事类 UNIX 系统的编程工作。关闭[x]关于报告滥用的帮助报告滥用谢谢! 此内容已经标识给管理员注意。关闭[x]关于报告滥用的帮助报告滥用报告滥用提交失败。 请稍后重试。关闭[x]developerWorks:登录IBM ID:需要一个 IBM ID?忘记IBM ID?密码:忘记密码?更改您的密码 保持登录。单击提交则表示您同意developerWorks 的条款和条件。 使用条款 当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。所有提交的信息确保安全。关闭[x]请选择您的昵称:当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。昵称:(长度在 3 至 31 个字符之间)单击提交则表示您同意developerWorks 的条款和条件。 使用条款. 所有提交的信息确保安全。为本文评分评论回页首
Ⅳ 我想安装php4和mysql 还有alpha ,是不是一定要在linux 系统下使用呢
php+mysql+linux是黄金组合呀~~
也可以在win下装呵呵
Ⅳ php由哪个国家开发
PHP 继承自一个老的工程,名叫 PHP/FI。PHP/FI 在 1995 年由 Rasmus Lerdorf 创建,最初只是一套简单的 Perl 脚本,用来跟踪访问他主页的人们的信息。它给这一套脚本取名为“Personal Home Page Tools”。随着更多功能需求的增加,Rasmus 写了一个更大的 C 语言的实现,它可以访问数据库,可以让用户开发简单的动态 Web 程序。Rasmus 发布了 PHP/FI 的源代码,以便每个人都可以使用它,同时大家也可以修正它的 Bug 并且改进它的源代码。
PHP/FI,一个专为个人主页/表单提供解释程序的程序,已经包含了今天 PHP 的一些基本功能。它有着 Perl 样式的变量,自动解释表单变量,并可以嵌入 HTML。语法本身与 Perl 很相似,但是它很有限,很简单,还稍微有些不协调。
到1997年,PHP/FI 2.0,也就是它的 C 语言实现的第二版在全世界已经有几千个用户(估计)和大约 50,000 个域名安装,大约是 Internet 所有域名的 1%。但是那时只有几个人在为该工程撰写少量当代码,它仍然只是一个人的工程。
PHP/FI 2.0 在经历了数个 beta 版本的发布后于 1997 年 11 月发布了官方正式版本。不久,PHP 3.0 的第一个 alpha 版本的发布,PHP 从此走向了成功。
PHP 3
PHP 3.0 是类似于当今 PHP 语法结构的第一个版本。Andi Gutmans 和 Zeev Suraski 在为一所大学的项目中开发电子商务程序时发现 PHP/FI 2.0 功能明显不足,于是他们重写了代码。这就是 PHP 3.0。经过Andi,Rasmus 和 Zeev 一系列的努力,考虑到 PHP/FI 已存在的用户群,他们决定联合发布 PHP 3.0 作为 PHP/FI 2.0 的官方后继版本。而 PHP/FI 2.0 的进一步开发几乎终止了。
PHP 3.0 的一个最强大的功能是它的可扩展性。除了给最终用户提供数据库、协议和 API 的基础结构,它的可扩展性还吸引了大量的开发人员加入并提交新的模块。后来证实,这是 PHP 3.0 取得巨大成功的关键。PHP 3.0 中的其它关键功能包括面向对象的支持和更强大和协调的语法结构。
这个全新的语言伴随着一个新的名称发布。它从 PHP/FI 2.0 的名称中移去了暗含“本语言只限于个人使用”的部分。它被命名为简单的缩写“PHP”。这是一种递归的缩写,它的全称是――PHP: Hypertext Preprocessor。
1998 年末,PHP 的安装人数几近 10,000,有大约 100,000 个网站报告他们使用了 PHP。在 PHP 3.0 的顶峰,Internet 上 10% 的 web 服务器上都安装了它。
约九个月的公开测试后,官方于 1998 年 6 月正式发布 PHP 3.0。
PHP 4
1998 年的冬天,PHP 3.0 官方发布不久,Andi Gutmans 和 Zeev Suraski 开始重新编写 PHP 代码。设计目标是增强复杂程序运行时的性能和 PHP 自身代码的模块性。PHP 3.0 的新功能和广泛的第三方数据库、API的支持使得这样程序的编写成为可能,但是 PHP 3.0 没有高效处理如此复杂程序的能力。
新的被称为“Zend Engine”(这是 Zeev 和 Andi 的缩写)的引擎,成功的实现了设计目标,并在 1999 年中期首次引入 PHP。基于该引擎并结合了更多新功能的 PHP 4.0,在 PHP 3.0 发布两年后,于2000年5月发布了官方正式版本。除了更高的性能以外,PHP 4.0 还包含了其它一些关键功能,比如:支持更多的 web 服务器;HTTP Sessions 支持;输出缓冲;更安全的处理用户输入的方法;一些新的语言结构。
今天,已经有 10,000 名开发人员(估计)和几百万网站报告已安装了 PHP,占整个 Internet 域名的 20%。
PHP 的开发小组有很多优秀的开发人员,同时还有大量的优秀人才在进行 PHP 相关工程的开发工作,如 PEAR 和 PHP 文档的工程。
PHP 5
PHP 5 在长时间的开发及多个预发布版本后,于 2004 年 7 月发布正式版本。它的核心是 Zend 引擎 2 代,引入了新的对象模型和大量新功能。请访问其网站以获取更多关于该引擎的信息。
不用我说你也知道是USA 撒
Ⅵ php如何判断字符串是否是字母和数字的组合
echo <scriptalert('只能是英文字母或数字, 且长度必须是3-12个字');history.back(-1);</script;die;}
//其实判断是否是字母和数字或字母数字的组合还可以用PHP ctype_alnum函数
if(!ctype_alnum($vipurl)){
echo '只能是字母或数字的组合';exit;}
顺便复习下ctype functions
1.ctype_alnum(string $text)://检查是否是字母或数字或字母数字的 组合
2.ctype_alpha(string $text):check for alphabetic character(s) //检查字符串是否是字母
3.ctype_cntrl(string $text):check for control character(s) //是否是控制字符如 , ,\t
4.ctype_digit(strint $text):check for numeric character(s) //是否是数字表示的字符大多数时也许应该用is_numeric
这个要特别注意与is_numeric()的区别
例:$numeric_string='42';
$interger = 42;
ctype_digit($numeric_string);//true
ctype_digit($interger);//false
is_numeric($numeric_string); //true
is_numeric($interger); //true
5.ctype_graph(string $text):Check for any printable character(s) except space
6.ctype_lower():check for lowercase character(s)//检查是否是小写字母
7.ctype_upper():check for uppercase character(s)//检查是否是大写字母
8.ctype_space: check for whitespace character(s)//是否是空白字符
9.ctype_xdigit: check for character(s) representing a hexadecimal digit//检查是否是十六进制数字
实例: if((!isset($error)) and (!preg_match(/^[_0-9a-zA-Z]{3,12}$/i,$nicker))) $error='只能是英文字母或数字, 且长度必须是3-12个字';
Ⅶ PHP的优缺点是什么
HP应该算是现在大中小非专业网站企业会优先使用的网站建设编程语言,相对于ASP和JSP来说,PHP在在很多方面更适合个人以及小型企业做开发,这主要是因为PHP本身独特的优势导致的,那么下面小编就来为大家盘点PHP得到众多企业支持的原因。
PHP的优势包括:
1、开放源代码
由于PHP开放源代码,因此基本上可以在网络上找到适合自己的源代码。
2、免费性
和其它技术相比,PHP本身免费,并且也是开源代码。
3、快捷性
PHP程序开发快,运行快,技术本身学习快。由于PHP可以被嵌入于HTML语言,新词相对于其他语言来说编辑简单,实用性强,更适合初学者。
4、跨平台性强
由于PHP是运行在服务器端的脚本,因此可以在多种平台上得到应用,包括了UNIX、LINUX、WINDOWS、Mac OS等系统。
5、效率高
PHP由于消耗相当少的系统资源,因此工作效率更高。
6、图像处理
一般来说,PHP动态创建图像,而且目前PHP图像处理默认使用GD2。因此也可以配置为使用image magick进行图像处理。
7、面向对象
在PHP4,PHP5 中,面向对象方面都做出了很大的改进,因此PHP完全可以用来开发大型商业程序。
8、专业专注
PHP同为类C语言,而且更重要的就是PHP以支持脚本语言为主。
上面介绍的八点内容就是关于PHP被广大企业使用的优势,其实PHP相对于其它几种语言来说,更适合初学者学习和使用,因此想要入门的朋友可以多找一些材料来学习。
Ⅷ php-5.4.0alpha1 这个怎么用啊.下电影是PHP格式下来不能看.用这个怎么弄啊
电影下载后如果是php文件,说明网站出错。数据的媒体类型发送浏览器时没有正确导致的。
如果php文件容量较大,上百M有电影的容量,就改名成avi, rmvb,mp4尝试播放。如果播放失败说明,下载失常,用主流工具下载再试,或联系网站开发者吧。
如果php只有几k以下,说明根本就没有下载。
php-5.4.0alpha1是最新的PHP解释器的试用版本,是开发工具,但试用版本连开发者都不能用,用户更不需要用。。