正则表达式,用于匹配HTML字符串

我正在尝试执行preg_match_all,这是行不通的。


preg_match_all(

    '!<div class="Description_Productinfo" itemprop="description"><p><span style="color:#7f8c8d;"><span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:14px;">(.*?)</span></span></span></p></div>!',

    $html,

    $matches1,

    PREG_SET_ORDER

);

foreach ($matches1 as $soge2){print_r($soge2);}

我该如何运作?


海绵宝宝撒
浏览 199回答 1
1回答

人到中年有点甜

用RegEx解析HTML可能不是最好的主意,这似乎是您可能想做的。但是,根据您的问题,我猜测您可能希望使用(.*)以下命令从此标签获取所有数据:<span style="font-size:14px;"></span>可以这样做。首先,您可以preg_match_all();根据以下条件进行设计:preg_match_all($pattern, $subject, $matches);在这种情况下,您的主题是您的HTML输入,并且不确定,但是您的模式可能是:/<span style=\"font-size:14px;\">([\w\s]+)(<\/span>)/s&nbsp;代码$html = '<div class="Description_Productinfo" itemprop="description"><p><span style="color:#7f8c8d;"><span style="font-family:Arial,Helvetica,sans-serif;"><span style="font-size:14px;">Alphanumeric Words If You Wish To Match</span></span></span></p></div>';preg_match_all('/<span style=\"font-size:14px;\">([\w\s]+)(<\/span>)/s', $html, $matches1, PREG_SET_ORDER);var_dump($matches1);foreach ($matches1 as $soge2) {&nbsp; &nbsp; print_r($soge2);}输出Array(&nbsp; &nbsp; [0] => <span style="font-size:14px;">Alphanumeric Words If You Wish To Match</span>&nbsp; &nbsp; [1] => Alphanumeric Words If You Wish To Match&nbsp; &nbsp; [2] => </span>)图案您可以使用工具来设计所需的模式,例如:
打开App,查看更多内容
随时随地看视频慕课网APP