@Jony1337

Почему не работает preg_match()?

Привет всем
$k = <<<HERE
<!DOCTYPE html>
<html>
<head>
<link href='http://fonts.googleapis.com/css?family=Raleway:400,700' rel='stylesheet' type='text/css'>
<link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:700' rel='stylesheet' type='text/css'>
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap-theme.min.css">
<link rel="stylesheet" type="text/css" href="http://www.text.ru/css/style.css?v=58539">
<link rel="stylesheet" type="text/css" href="http://www.text.ru/css/responsive.css?v=28967">
<title>Afla ce iti doreste AppLine !</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta content="width=device-width, initial-scale=1" name="viewport">
<meta property="og:title" content="text!"/>
<meta property="og:type" content="website"/>
<meta property="og:description" content="text !"/>
<meta property="og:image" content="http://www.example.ro/images/ex/0166627d.png" /> 
HERE;

preg_match('@^(?:og:image" content=)?([^/]+)@i',$k, $matches);
$host = $matches[1]; 
echo $host;
// Надо получить в переменую $host //<metaproperty="og:image"content="http://www.example.ro/images/ex/0166627d.png" /> 
//На выводе ничего не выводит
  • Вопрос задан
  • 161 просмотр
Решения вопроса 3
странная регулярка . У вас не заэкранирован символ / в символьном классе. а что искать то она должна ? пока что она только способна доктайп найти...
preg_match('@<meta.*og:image.*?(http:\/\/.*?)"\s+\/>@i',$k, $matches);
$host = $matches[1]; 
echo $host;

результат
Ответ написан
archakov06
@archakov06
Frontend-разработчик (ReactJS)
Какое значение вам нужно получать?
Ответ написан
slo_nik
@slo_nik Куратор тега PHP
Добрый день.
Попробуйте убрать циркумфлекс и добавить модификатор s
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы