如何从 preg_match 中删除 class 以及如何创建时间戳
how to remove class from preg_match and how to create timestamp
我正在尝试获取 2020-11-05 20:34:38 此数据并将其转换为时间戳请帮助
谢谢
<?php
$html = '<time datetime="2020-11-05T20:34:38+00:00" class="time">20:34</time></a></span>';
preg_match('/<time datetime="(.*?)">[0-9:]+<\/time>/i', $html, $d );
//print_r ($d);
print_r ($d[1]);
?>
Output
2020-11-05T20:34:38+00:00" class="time
我正在尝试获取 2020-11-05 20:34:38 此数据并将其转换为时间戳请帮助
谢谢
将模式更改为 /datetime="([^"]+)/
<?php
$html = '<time datetime="2020-11-05T20:34:38+00:00" class="time">20:34</time></a></span>';
preg_match('/datetime="([^"]+)/i', $html, $d );
print_r($d[1]);
您应该将 class
添加到正则表达式中,例如:
preg_match('/<time datetime="(.*?)" class="time">[0-9:]+<\/time>/i', $html, $d );
从time
标签到trimdate
,如果你确定日期时间的类型,你可以试试这个:
<?php
$html = '<time datetime="2020-11-05T20:34:38+00:00" class="time">20:34</time></a></span>';
$pattern = '/datetime="(?<date>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\+\d{2}:\d{2})/';
preg_match($pattern , $html , $matches);
$date = $matches["date"];
echo($date);
输出
2020-11-05T20:34:38+00:00
如果您不确定 datetime
属性中的内容,那么您更愿意以这样的模式编写正则表达式:
$pattern = '/datetime="(?<date>.+)\s+class/';
为了获取时间戳:
echo(strtotime($date));
输出
1604608478
我正在尝试获取 2020-11-05 20:34:38 此数据并将其转换为时间戳请帮助
谢谢
<?php
$html = '<time datetime="2020-11-05T20:34:38+00:00" class="time">20:34</time></a></span>';
preg_match('/<time datetime="(.*?)">[0-9:]+<\/time>/i', $html, $d );
//print_r ($d);
print_r ($d[1]);
?>
Output
2020-11-05T20:34:38+00:00" class="time
我正在尝试获取 2020-11-05 20:34:38 此数据并将其转换为时间戳请帮助
谢谢
将模式更改为 /datetime="([^"]+)/
<?php
$html = '<time datetime="2020-11-05T20:34:38+00:00" class="time">20:34</time></a></span>';
preg_match('/datetime="([^"]+)/i', $html, $d );
print_r($d[1]);
您应该将 class
添加到正则表达式中,例如:
preg_match('/<time datetime="(.*?)" class="time">[0-9:]+<\/time>/i', $html, $d );
从time
标签到trimdate
,如果你确定日期时间的类型,你可以试试这个:
<?php
$html = '<time datetime="2020-11-05T20:34:38+00:00" class="time">20:34</time></a></span>';
$pattern = '/datetime="(?<date>\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\+\d{2}:\d{2})/';
preg_match($pattern , $html , $matches);
$date = $matches["date"];
echo($date);
输出
2020-11-05T20:34:38+00:00
如果您不确定 datetime
属性中的内容,那么您更愿意以这样的模式编写正则表达式:
$pattern = '/datetime="(?<date>.+)\s+class/';
为了获取时间戳:
echo(strtotime($date));
输出
1604608478