Я пишу программу-скребок для PHP-страниц, и мне нужно узнать дату ее обновления.
я сделал это $html = file_get_html(xyz.com)
чтобы получить HTML. В одной строке HTML есть такая дата 10/24/2016
,
Я сделал это:
if (strpos($html, '7nbsp;') !== false) {
if (strpos($html, ' </a>') !== false) {
echo "How to print drawing date--here!";
}
Теперь вот дилемма, я не могу искать 10/24/2016
потому что я не могу знать, когда новая дата будет обновлена, это может быть 30.10.2016 или 12.11.2016 …
В идеале я хотел бы, чтобы дата была в виде строки, например $date = "11/17/2016"
,
Как мне искать саму дату?
Этот код будет работать для вас:
preg_match('/\ ([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4})/', $html, $matches);
Это регулярное выражение, которое ищет дату (если дата находится в правильном формате). Найденные совпадения будут сохранены в переменной $ match.
@krasipenkov был близок, но ОП попросил указать его в переменной $ date:
$html = 'lblah
balh asdf asd
<mickey mouse="disney">f3rt6wergsdfg 1/19/2016 <more stuff="here">etc
asdf';
preg_match('/\ ([0-9]{1,2}\/[0-9]{1,2}\/[0-9]{4})/', $html, $matches);
$date = $matches[1];
echo "your date found is $date";
[увидеть это бежать] http://sandbox.onlinephpfunctions.com/code/27419098cf4bc48a5ca2c683b046679b6c0af85c