Heim > Fragen und Antworten > Hauptteil
Ich habe gerade angefangen, reguläre Ausdrücke zu lernen und habe versucht, einen zu schreiben, aber ich habe einen Fehler erhalten. Mein Code ist:
<?php
$content = file_get_contents('page.html');
$preg='/^<meta property="og:image" content="{1}(.*)" />{1}$/';
if(preg_match($preg,$content,$arr)){
echo $arr[0];
}else{
echo "fail";
}
?>
Der Zweck besteht darin, die Adresse in <meta property="og:image" content="https://scontent-nrt1-1.cdninstagram.com/t51.2885-15/e35/19428654_117834015492201_3447552780867207168_n.jpg" />
abzugleichen.
怪我咯2017-06-29 10:10:37
<?php
define('CLI_SCRIPT', true);
$content = file_get_contents('page.html');
preg_match_all('/<meta [^>]*content=\"(.+?)\"/', $content, $matches);
var_dump($matches); // 需要的字符串在$matches[1]中,具体信息可以打印了看
女神的闺蜜爱上我2017-06-29 10:10:37
,这个也可以。。不过很奇怪,print_r和var_dump出来的不一样
$str = '<meta property="og:image" content="https://scontent-nrt1-1.cdninstagram.com/t51.2885-15/e35/19436259_259857144497308_9134693580806291456_n.jpg" />';
$preg='/^<meta property="og:image" content="([^\"]*)"/';
if(preg_match($preg, $str, $arr)){
echo "<pre>";
var_dump($arr);
print_r($arr);
echo $arr['1'];
}else{
echo "fail";
}