PHP preg_match_all - 如何从 HTML 获取内容?

标签 php html regex

$Content 包含 HTML 文档

   $contents = curl_exec ($ch)  

我需要从以下位置获取内容:

 <span class="Menu1">Artur €2000</span>

重复了几次所以想存入数组

我尝试这样做:

 preg_match_all('<span class=\"Menu1\">(.*?)</span>@si',$contents,$wynik2);

但是我有一个错误

警告:preg_match_all() [function.preg-match-all]: Unknown modifier '('

你们能帮帮我吗? 编辑:$contents = curl_exec ($ch)

已解决:错误是由于 CURL 网站上的 HTML 错误导致的:

  <span class="Menu1">Content</tr>

代替:

 <span class="Menu1">Content</tr>

没想到有人会写错HTML。谢谢大家的帮助!

最佳答案

您忘记了第一个分隔符 (@):

$contents = '<span class="Menu1">Artur $2000</span> somehtml <span class="Menu1">Mark $1000</span>';
preg_match_all('@<span class="Menu1">(.*?)</span>@si', $contents, $wynik2);

print_r($wynik2);
/*
Array
(
    [0] => Array
        (
            [0] => <span class="Menu1">Artur $2000</span>
            [1] => <span class="Menu1">Mark $1000</span>
        )

    [1] => Array
        (
            [0] => Artur $2000
            [1] => Mark $1000
        )

)
*/

关于PHP preg_match_all - 如何从 HTML 获取内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10832665/

相关文章:

regex - 谷歌表格,计算全部大写且具有一定长度的单词

javascript - 在 JS 函数中打开一个新的 HTML 页面,然后在上面写一些 HTML

php - 如何根据先前的输入字段插入创建下拉输入字段选项?

php - 在 apache AWS 中添加多个 SSL 证书

php - 在某些条件下动态更改 WP_Error 消息 CSS?

html - 使用 Flexbox 重新定位选择器

regex - Perldoc 变量语法 : $foo vs ${foo}

regex - Oracle REGEXP_REPLACE 大写替换字符串

php - 根据条件列出 html 表中的一行

php - 数据不进入数据库