我有一个计划在crontab上运行的脚本.我注意到我无法在任何地方看到php错误.我希望能够在/ var/log/syslog或其他地方看到php错误.我已经尝试配置我的php.ini来记录/var/log/php-errors.log上的错误,检查权限并重新启动apache服务仍然没有日志.
我有一堆像这样的网址.
$urls = array(
'https://site1.com',
'https://www.site2.com',
'http://www.site3.com',
'https://site4.com',
'site5.com',
'www.site6.com',
'www.site7.co.uk',
'site8.tk'
);
Run Code Online (Sandbox Code Playgroud)
我想删除http,https,://和www.从这些字符串,以便输出看起来像这些.
$urls = array(
'site1.com',
'site2.com',
'site3.com',
'site4.com',
'site5.com',
'site6.com',
'site7.co.uk',
'site8.tk'
);
Run Code Online (Sandbox Code Playgroud)
我想出了这个解决方案.
foreach ($urls as $url) {
$pattern = '/(http[s]?:\/\/)?(www\.)?/i';
$replace = "";
echo "before: $url after: ".preg_replace('/\/$/', '', preg_replace($pattern, $replace, $url))."\n";
}
Run Code Online (Sandbox Code Playgroud)
我想知道如何避免第二个preg_replace.有任何想法吗?
我希望有人知道为什么我得到以下输出,因为我期待别的东西.
$x = NULL;
switch ($x) {
case "0":
echo "String";
break;
case 0:
echo "Integer";
break;
case NULL:
echo "NULL";
break;
case FALSE:
echo "Boolean";
break;
case "":
echo "Empty string";
break;
default:
echo "Something else";
break;
}
// outputs "Integer" was expecting "NULL"
$x=6;
switch ($x) {
case "6b":
echo "6b";
break;
case "6":
echo "6 empty";
break;
case 6:
echo "6 full";
break;
default:
echo "6 half";
break;
}
// outputs "6b" was expecting "6 empty"
Run Code Online (Sandbox Code Playgroud)