断言用来声明一个应该为真的事实。正则表达式中只有当断言为真时才会继续进行匹配。
正则表达式内容:
\{Tag:([a-zA-z0-9]*)\s([^}\/]*)\}(((?!\{\/Tag:)[\s\S])*?)\{/Tag:([a-zA-z0-9]*)\}
匹配字符串1:
{Tag:test param=”1″}test{/Tag:test}
和字符串2:
{Tag:test param=”1″}{Tag:test2 param=”2″/}{/Tag:test}
匹配字符串1非常简单,字符串2相对困难些,思考了一下午,看来只有零宽断言能解决,一时没体会到零宽断言的意思。
正则零宽断言部份:(((?!\{\/Tag:)[\s\S])*?)
中文说明::(((?!排除的字符)匹配所有表达式)无限次但尽可能少重复)
?! 是 负向零宽先行断言标志,(((?!\{\/Tag:)[\s\S])*?) 的意思是 断言匹配内容为{/Tag:外的所有内容,后跟\s\S括号*表示当断言为真时匹配所有内容。
先下载:http://www.callum-macdonald.com/download/wp-mail-smtp.zip
通过FTP上传到/wp-content/plugins下面,然后进入wordpress后台:
1.插件->启用wp mail smtp
2.设置->mail->填写SMTP信息,如:
熟悉SQL SERVER的话,肯定常用到BEGIN TRAN和COMMIT TRAN语句。但在ORACLE中并没有这种类似的事务控制语句,ORACLE当然有事务,不然也不会是最牛X的数据库服务器软件了。下面简单的介绍下ORACLE的事务机制。
在ORACLE中采用隐式事务,既然是隐式事务,显然是不需要COMMIT TRAN语句了,但COMMIT还是要的。
在默认情况下,ORACLE对每次查询中对表的修改都是有隐式事务的,直到执行到COMMIT;或ROLLBACK;时提交或回滚事务。
下面附上一段在PHP中一条语句操作多个表的解决办法。OCI_DEFAULT模式将默认为每次查询产生一个事务。
$sql = ‘BEGIN
UPDATE TEST_A SET COLUMN_A = 1 WHERE ROWNUM = 1;
UPDATE TEST_B SET COLUMN_B = 2 WHERE ROWNUM =1;
END;’;
$conn = oci_connect(’scott’, ‘tiger’, ‘orcl’);
$stmt = oci_parse($conn, $sql);
oci_execute($stmt, OCI_DEFAULT);
// 回滚事务,返回boolean值
$rollbacked = oci_rollback($conn);
// 提交事务,返回boolean值
$commited = oci_commit($conn);
实例完毕,谢谢收看CCTV。
问题原因:未设置系统环境变量或未将PHP根目录下所有.exe .dll文件copy到windows目录。
解决办法:
1.设置环境变量(推荐),我的电脑,高级,环境变量,双击Path栏,再后面加上你的PHP目录,如:c:\PHP。
1.复制PHP安装目录下所有.exe .dll文件到c:\windows目录。
很久没有重装过PHP,大约有一年的时间了吧,凭着残存的记忆开始安装Apache+PHP+MYSQL环境,apache安装很顺利,为apache增 加PHP模块是按照PHP目录中的install.txt中介绍的方法(太久了也不记得是AddType appliaction/???什么了,LoadModule还是记得的:(),将php.ini修改好后放入c:/windows目录,写一段 phpinfo();发现mysql扩展未被加载,尝试打开其它一些扩展,有的能正常加载,有的不能加载,非常郁闷现在不能上网,能上网找资料早解决的, 原本还以为是PHP版本的问题,换了N个PHP版本后问题依然存在,最后设置了一下系统环境变量,在Path环境变量后加上C:\PHP,重启再查看 phpinfo();mysql扩展已经正确加载了,哦现在想起来以前安装PHP的时候似乎都把C:\PHP目录下的所有.exe .dll文件全部copy到windows目录下的。
今天需要用到这个,本来是用javascript写的幻灯片效果,但js将多个幻灯片放一起时就会产生变量混乱,所以改用了这个,其实javascript的更不错,只不过有些局限。
我是用PHP输出的,就没用javascript代码,如果要用javascript呢,原理非常简单,举一翻山,自己搞定^_^。
首先说下flash中最重要的一个参数flashvars,这个参数的值会通过变量方式传递给flash,详情请了解如flex中使用flashvars。这也是这里的重点~!。
flashvars参数中分几个部份,其实就是字符串,在flex中获取该字符串可以进行操作,详细:pics=图片地址集合& links=链接地址集合&texts=幻灯片标题集合,那么&是什么,写过服务器端的都知道 & 是参数的分界线,由于flex中采用的文字编码统一为UTF-8所以这里的 & 应为 &。
PHP实例:
$Result为已从数据库读取的记录集。
<?
$height = 220; //设定高度
$width = 250; //设定宽度
$imgString = “”;
$imgLink = “”;
$imgText = “”;
while($Arr = mysql_fetch_array($Result)){
if(strstr($fileTypeStr,$fileType)){
$imgString .= empty($imgString) ? $Arr['fj_fn'] : “|”.$Arr['fj_fn'];
$imgLink .= empty($imgLink) ? $Arr['href'] : “|”.$Arr['href'];
$imgText .= empty($imgText) ? $Arr['bt'] : “|”.$Arr['bt'];
}
}
print ‘<embed height=”‘. $height .’” width=”‘.$width.’” pluginspage=”http://www.macromedia.com/go/getflashplayer” type=”application/x-shockwave-flash” allowscriptaccess=”sameDomain” quality=”high” bgcolor=”#ffffff” menu=”false” flashvars=”pics=’.$imgString.’&links=’.$imgLink.’&texts=’.$imgText.’&borderwidth=’.$width.’&borderheight=’.$height.’&textheight=0″ wmode=”opaque” src=”./pixviewer.swf”/>’;
?>
pixviewer.swf 下载地址:pixviewer 记住要右键另存为,或用工具下载
写完收工~!。