php - Comment modifier cette expression régulière
给我你的怀抱
给我你的怀抱 2017-06-29 10:08:37
0
4
873

Je viens de commencer à apprendre les expressions régulières et j'ai essayé d'en écrire une, mais j'ai eu une erreur :

.
<?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";
}
?>

Le but est de faire correspondre l'adresse dans <meta property="og:image" content="https://scontent-nrt1-1.cdninstagram.com/t51.2885-15/e35/19428654_117834015492201_3447552780867207168_n.jpg" />.

给我你的怀抱
给我你的怀抱

répondre à tous(4)
刘奇

<?php
define('CLI_SCRIPT', true);

$content = file_get_contents('page.html');
preg_match_all('/<meta [^>]*content=\"(.+?)\"/', $content, $matches);
var_dump($matches);   // 需要的字符串在$matches[1]中,具体信息可以打印了看
Ty80

N'ajoutez pas de symboles de début et de fin. Si vous souhaitez faire correspondre le contenu, vous ne devez pas ajouter de symboles de début et de fin. . . .

曾经蜡笔没有小新

L'inspection visuelle indique que {1} est faux

女神的闺蜜爱上我

, c'est aussi possible. . Mais c'est étrange, print_r et var_dump produisent des résultats différents

$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";
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal