PHP 笔记
2017-08-19 本文已影响21人
ethan_cun
屏幕快照 2017-08-19 上午8.39.49.png第一个php程序打开,显示502 Bad Gateway,如下图:
解决办法:
Mac 下:phpstorm----preferences-----languages&frameworks---php
设置interpreter->点击左侧“+”添加,将exexutable路径设置为/Applications/XAMPP/bin/php
如下图:
解决办法示意.pngmac下查看自带apache目录:
open /etc
apache下部署web资源
跟windows不一样,它的部署包不是放在htdocs(windows下的存放目录),而是放在 “/资源库/WebServer/Documents/”下面
启动停用apache
启用apache的命令:
sudo apachectl start/restart
启动成功输入localhost可以访问,或者127.0.0.1
停止apache的命令是:
sudo apachectl stop
修改apache默认端口:
通过localhost或者127.0.0.1访问,表示默认的端口是80,有时候如果80端口被占用了,就得换个端口试试了。同样是在httpd.conf下面,找到Listen 80 那一行,修改成你想要的端口即可。
php正则表达式:
//定界符:不能用a-z A-Z 0-9 \ 必须成对出现 如#\/#
//原子:需要匹配的内容 :只能匹配一个字符
/*
* \d 匹配0-9 \D 0-9以外
* \w 匹配a-z A-Z 0-9 _ \W 相反
* \s 匹配空白字符 \n \t /r 空格 \S相反
* [] 指定范围的原子
* [^] 不匹配指定区间的原子
* */
$a = '/\S/';
$text1 = 'hahahahha7jakd';
if (preg_match($a, $text1, $matched)){
var_dump($matched);
}else{
echo "none";
}
//总结:
// \d = [0-9]
// \D = [^0-9]
// \w = [a-zA-Z0-9_]
// \W = [^a-zA-Z0-9_]
// \s = [/r/t/n/f]
// \S = [^/r/t/n/f] ^:抑扬符
//元字符:可以匹配多个字符
// +:匹配最少一次前面的字符
// *:匹配0次或任意次数前面的字符
// ?:前面的字符出现一次或者0次 但是不能出现多次
// .:匹配除\n以外的所有字符
// |:或者 优先级最低
// ^:抑扬符:必须要以^之后的字符开始
// $:必须要以$之前的字符结束
// \b:词边界 必须出现在开始 结束 空格处
// \B:非词边界 一定不能出现在开始 结束 空格处
// {m}:出现且只能出现m词
// {m,n}:可以出现m到n次
// {m, }:至少出现m次
// ():改变优先级 将某个字符串作为一个整体
// 模式修正符:用法:/正则表达式/模式修正符
// i:不区分大小写进行匹配
// m:字符串视为多行
// s:字符串视为单行 换行符作为普通字符
// x:将模式中的空白字符忽略 如空格 #
// A:强制仅从目标字符串的开头开始匹配
// D:模式中的美元字符仅匹配目标字符串的结尾
// U:匹配最近的字符 职匹配一次 贪婪模式控制
//两个函数
//1:输出匹配内容
/*
preg_match($pattern, $targetStr, $matched){
echo $matched;
}
*/
//2:输出指定匹配项
// preg_replace($pattern, $replacement(第几项), $string(目标指定字符串))
//常见正则表达式:
//1.手机号 /^1[34578]\d{9}$/
//2.邮箱 /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,})$/
//3.网址 ^((https?|ftp|news):\/\/)?([a-z]([a-z0-9\-]*[\.。])+([a-z]{2}|aero|arpa|biz|com|coop|edu|gov|info|int|jobs|mil|museum|name|nato|net|org|pro|travel)|(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))(\/[a-z0-9_\-\.~]+)*(\/([a-z0-9_\-\.]*)(\?[a-z0-9+_\-\.%=&]*)?)?(#[a-z][a-z0-9_]*)?$