Php 如何检查文本文件中是否存在日期和字符串
我有一个php函数来记录用户:Php 如何检查文本文件中是否存在日期和字符串,php,regex,match,strpos,Php,Regex,Match,Strpos,我有一个php函数来记录用户: if(isset($_POST['enter'])){ if($_POST['name'] != "" && trim($_POST['name'])!= "" ){ $_SESSION['name'] = stripslashes(htmlspecialchars($_POST['name'])); $text_message = "<div class='msgln'&g
if(isset($_POST['enter'])){
if($_POST['name'] != "" && trim($_POST['name'])!= "" ){
$_SESSION['name'] = stripslashes(htmlspecialchars($_POST['name']));
$text_message = "<div class='msgln'><span class='chat-time'>".date("F j, g:i A")."</span> <b class='user-name'>".$_SESSION['name']."</b> </div>";
file_put_contents("users.html", $text_message, FILE_APPEND | LOCK_EX);
我想检查日期-只有日期和小时,而不是分钟和用户名。由于我使用12小时的时间,我如何检查PM和AM
输出:
1月18日上午7:33
1月18日上午7:41
1月18日上午7:45
为了简化:我想检查1月18日上午7点用户名。我认为很难做到这一点,因为您的日期字符串没有存储在数据库中,简而言之,如果已经插入日期字符串,您就无法对其进行比较,因为例如,如果您在users.html中有这些输入: 1月18日上午7:00埃瓦拉 1月18日上午7:31一无所知 然后您收到了一个插入新用户的请求,因此您需要检查该用户是否已经使用
username = "evara" && date = January 18, 7:01 AM
所以你不能比较它们。但如果已经插入了用户名,为什么不进行比较呢
如果false==strpos$chck,$\u会话['name']{
//文件内容
}
我认为很难做到这一点,因为您的日期字符串没有存储在数据库中,简而言之,如果已经插入日期字符串,您就无法对其进行比较,因为如果您在users.html中有这些输入: 1月18日上午7:00埃瓦拉 1月18日上午7:31一无所知 然后您收到了一个插入新用户的请求,因此您需要检查该用户是否已经使用
username = "evara" && date = January 18, 7:01 AM
所以你不能比较它们。但如果已经插入了用户名,为什么不进行比较呢
如果false==strpos$chck,$\u会话['name']{
//文件内容
}
序列dateF j,g.'.$\u会话['name']不能存在,因为日期和用户名之间有一些字符
您可以使用一个简单的正则表达式,比如1月18日,9:[0-9]{2}AM
序列dateF j,g.'.$\u会话['name']不能存在,因为日期和用户名之间有一些字符
您可以使用一个简单的正则表达式,比如1月18日,9:[0-9]{2}AM
$date = date('F j, g:[0-9]{2} A');
$match = preg_match('~' . $date . '~', $text_message);
if (strpos($text_message, $_SESSION['name']) === false && !$match) {
echo "match not found";
// file_put_contents()
}
else {
echo "match found";
}