php - 从 HTML 中读取属性值

标签 php html-parsing

我将 HTML 存储在一个字符串中。标记包含名为 initvalendval 的表单 input 字段,它们是我需要的 value 属性值。我如何从这个字符串标记中获取它们?

<form id="compute">
   <input type="hidden" name="initval" value="tal:00far" />
   <input type="hidden" name="endval" value="utl:80er" />
</form>

最佳答案

假设结构非常可靠,请尝试以下操作:

$htmlCode = "...";
$matches = array();

if (preg_match_all('/name="(initval|endval)"\s+value="([^"]+)"/', $htmlCode, $matches)) {
    $formValues = array_combine($matches[1], $matches[2]);
} else {
   // error
}

这里假定 namevalue 属性之间只有空格,如果不同,您需要做一些小的更改。 preg_match_all()返回一个数组,其中包含 [0] 处的整个正则表达式匹配,然后各个组在其相应位置匹配 [1] & [2],数组 combine 将一个作为键,一个作为值并将它们放在一起,以便您进行关联查找以获得结果。

关于php - 从 HTML 中读取属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4359164/

相关文章:

ruby-on-rails - 如何使用 Nokogiri 解析 HTML 表格?

javascript - 带有选择器的 Node.js 和 Cheerio 解析表

javascript - 加载指令时调用 init 函数

python - 使用python获取<a>标签的内容

javascript - 使用 javascript 操作 php 变量和函数

php - 如何在 codeigniter 中编写这个复杂的查询?

java - .jar 文件未安装在三星手机上,但安装在诺基亚上

php - SQL 选择多个匹配行

python - beautifulSoup 的不一致行为

php - Doctrine 2 - 多对一关系的外键不允许空值