早上好.我正在尝试确定字符串是否包含特定字符列表.
我知道我应该使用preg_match,但我的正则表达式知识很糟糕,我无法收集本网站其他帖子的任何信息.因为大多数人只想将字符串限制为az,AZ和0-9.但我确实希望允许一些特殊字符,例如:! @ £
和其他不在下面的字符串中.
要匹配的字符: # $ % ^ & * ( ) + = - [ ] \ ' ; , . / { } | \ " : < > ? ~
private function containsIllegalChars($string)
{
return preg_match([REGEX_STRING_HERE], $string);
}
Run Code Online (Sandbox Code Playgroud)
我最初在Javascript中编写匹配,它只是循环遍历字符串中的每个字母,然后循环遍历另一个字符串中的每个字符,直到找到匹配项.回想起来,我简直无法相信我甚至试图使用这种古老的方法.随着json的出现(以及应用程序的重写!),我将匹配切换到php,通过json返回错误消息.
我希望正则表达式大师可以协助将上面的字符串转换为正则表达式字符串,但任何反馈都将不胜感激!
关于SO的第一个问题,谢谢.:)
我正在为我的公司开发支持问题日志系统,它必须允许上传文件以及提交到我们数据库的任何问题.可能有0-6个不同的上传要检查,以及支持问题.我已经设法通过具有经由JS更新每当图像通过类型="文件"输入而选择,或者从模中取出的隐藏输入字段(imgcount)得到的有多少个文件的精确的变量.
我的[输入类型="文件"]名称是image1,image2等.因为我认为通过它们循环它会更容易.
提交表单时,以下代码会查看是否有任何文件并检查它们是否为有效类型(gif/jpeg/png),以便可以安全地上载它们.我不太担心病毒,因为支持系统有一个很好的安全登录,我们相信我们的客户.
$sscount = $_POST['imgcount'];
echo $sscount; //to test the variable
if($sscount>0){
for($i = 1; $i <= $sscount; $i++){
if (($_FILES["image$i"]["type"] == "image/gif")
|| ($_FILES["image$i"]["type"] == "image/jpeg")
|| ($_FILES["image$i"]["type"] == "image/png" )
&& ($_FILES["image$i"]["size"] < 500000))
{
}
else
{
$errormsg .= "Error: Image $i must be either JPEG, GIF, or PNG and less than 500 kb.<br />";
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这似乎没有正确循环,任何人有任何想法如何让它循环并正确返回?
如何在PHP中编写以下布尔表达式:
$foo = "";
if($var==TRUE){
$foo = "bar";
}
Run Code Online (Sandbox Code Playgroud)
要么
if($var==TRUE){
$foo = "bar";
}else{
$foo = "";
}
Run Code Online (Sandbox Code Playgroud)
要么
$foo = ($var==TRUE) ? "bar": "";
Run Code Online (Sandbox Code Playgroud) 下午,
我一直在寻找了一段时间没有成功,看是否有显示自定义错误页的方法,只要任何PHP错误发生,从用户隐藏的错误 - 目前使用error_reporting(0),然后通过电子邮件发送特定的错误来实现我的电子邮箱.
初始逻辑(我知道它不对,它只是为了帮助你更好地理解):
if(error_reporting){
ob_clean();
include('classes/email.php');
$email = new email($pdo);
$email->mailError(ERROR_REPORT);
include('error-page.php');
die();
}
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激,谢谢!