<pre code_snippet_id="293554" snippet_file_name="blog_20140415_1_1732870" class="php" name="code">1、使用PHPMailer发送邮件遇到的问题<1>、邮件里不兼容html标签,发送哪些标签里面的正文里都显示出来。在官网下载的源码里examples看到示例,没有提及IsHTML,但是在邮件发送内容里需要加入html标签的时候,send方法里需要设置$mail->IsHTML(true);不然发的标签内容在邮件里都会显示。 <2>、邮件内容里需要链接时,无法打开超链接。解决其实很简单,网站前面的http://不可以省略。如果超链接为<a href='www.szsyhaf.com' target='_blank'>点击进入</a>的话,此链接是无法打开的,查看源代码发现内容为:<a target='_blank'>点击进入</a>,前面的href没有了,结果把http://加上去如:<a href='http://www.szsyhaf.com' target='_blank'>点击进入</a>,超链接就能使用了。
2、局域网访问php程序,局域网电脑访问本地网站无法打开。 <1>、查看Apache/conf/httpd.conf配置是否正确,在配置文件中找到 127.0.0.1 改为 All <2>、很关键的一步:需要关闭电脑的防火墙。
3、简易判断的写法: 开发中经常用到判断,比如: if($id==1) { $result="验证成功!"; } else { $result="验证失败!"; } 其简略些写法为:$ty="验证成功!";$tn="验证失败!"; $result=$id==1?$ty:$tn;//跟上面的if else 是一个意思,其中要注意在判断的时候$id==1这里,一定是==号,如果用=号是不成立的。
4、删除某个Session变量。 unset($_SESSION['XXX']);
5、(标记),学php截至目前,遇到最变态的问题就是php的FTP---ftp_put。有时间有待攻破呐。
6、php中判断是否为整数: if(!is_numeric($jp_total)||strpos($jp_total,".")!==false){ echo "不是整数"; }else{ echo "是整数"; }
7、php中sleep的使用,最开始用的时候发现加上sleep后是暂停的时间后同时显示,这跟java里的完全不一样,结果才知道需要加上flush()。就能实现效果。其中与usleep的区别就是sleep参数的单位是“秒”,而usleep参数的单位是“微秒” flush(); sleep(5);//==usleep(5000)
8、php中批量替换内容的方法: $str="1234567890"; $begin=array('1','3','5','7','9'); $end=array('a','b','c','d','e'); echo str_replace($begin,$end,$str);//输出结果为: a2b4c6d8e0
9、php过滤所有html标签属性的正则表达式 //1,过滤所有html标签的正则表达式: </?[^>]+> //2,过滤所有html标签的属性的正则表达式: $html = preg_replace("/<([a-zA-Z]+)[^>]*>/","<\\1>",$html); //3,过滤部分html标签的正则表达式的排除式(比如排除<p>,即不过滤<p>): </?[^pP/>]+> //4,过滤部分html标签的正则表达式的枚举式(比如需要过滤<a><p><b>等): </?[aApPbB][^>]*> //5,过滤部分html标签的属性的正则表达式的排除式(比如排除alt属性,即不过滤alt属性): \s(?!alt)[a-zA-Z]+=[^\s]* //6,过滤部分html标签的属性的正则表达式的枚举式(比如alt属性): (\s)alt=[^\s]*10、php页面跳转
12、strpos、strrpos、strripos在使用的时候匹配的出问题。if(strpos('zxyida.com', 'http://www.zxyida.com') != false){.......}这样发现有时候匹配有问题,有些数据匹配是没问题的。仔细看api发现示例用的是===或!==完全匹配。所以在使用strpos、strrpos、strripos的时候需要用完全匹配。if(strpos('zxyida.com', 'http://www.zxyida.com') !== false){.......}
13、做前端开发的时候,本省能正常排版显示,很可能是文件UTF-8 with bom编码造成的(具体的百度之)。解决方法:编辑器基上选择文件后有“Remove BOM“一项,如果可以点击说明是这个问题导致,如果是按钮是灰色说明没问题。
14、js中encodeURIComponent与php对应的转换方法为:urlencode