我的目标是获得&#34; name&#34;的所有价值。来自html.txt上给出的html源的每个<input>
标记中的属性。我需要有关正则表达式以及if语句的帮助,因为现在它只输出使用preg_match找到的第一个值而不是其余的(并且它甚至不检查name属性在输入标签中)。此外,我还试图修复正则表达式,因此它实际上并没有显示名称=部分。
<?php
$myfile = fopen('html.txt', 'r');
$subject = fread($myfile,filesize("html.txt"));
$pattern='/name="([^"]*)\"/';
if(preg_match($pattern, $subject, $hits)){
echo "values: $hits[0]";
}
?>
示例输出:
values: name="title"
答案 0 :(得分:0)
为什么不解析html dom,而不是使用正则表达式来查找属性和值。使用simpleXML或http://php.net/manual/en/domdocument.loadhtml.php基于文档的HTML DOM创建数组,然后运行数组以找到输入元素及其属性。