使用DOMDOCUMENT提取JavaScript值
Using DOMDOCUMENT to pull JavaScript values
是否可以使用DOM文档提取javascript值?
<script type="text/javascript">
var datePickerDate = "October 14, 2014";
$(document).ready(function(){
// meetings datepicker
$("#datepicker").datepicker({
showOn: 'button',
buttonImage: '/images/calendar.gif',
buttonImageOnly: true,
onSelect: function(dateText, inst) {
populate_meetings(dateText, 0)
},
dateFormat: 'd MM yy',
minDate: new Date(2009, 0, 1), maxDate: 0
});
$('#datepicker').datepicker('option', 'defaultDate', new Date("October 14, 2014"));
$('#datepicker').val("October 14, 2014");
});
//call on page load to get meetings and date
populate_meetings("October 14, 2014", 15515);
</script>
这是html中的输出,所以我知道它在那里。。。我想读取日期,所以拉var datePickerDate=,它返回2014年10月14日
--再澄清一点——
我用domdocument抓取一个网站并抓取html,就像一样
$html = file_get_contents($url);
//set the main page html code that will be resused
$dom = new DOMDocument();
// load html
@$dom->loadHTML($html);
html中有一些javascript,其中包含日期……我想获取该日期并将其粘贴在可验证的中
populate meetings只需在下拉框中填充日期
您不能使用PHP执行javascript(显然),所以最好的方法可能是使用正则表达式获取JS变量。以下是如何使用DOMXPath:的示例
# create a new XPath object that will operate on the DOM that you've initialised
# in your code
$xp = new DOMXPath($dom);
# find all the script elements in the page
$scripts = $xp->query("//script");
foreach ($scripts as $s) {
# see if there are any matches for var datePickerDate in the script node's contents
if (preg_match('#var datePickerDate = "(.*?)"#', $s->nodeValue, $matches)) {
# the date itself (captured in brackets) is in $matches[1]
print_r($matches[1]);
}
}
输出:
October 14, 2014
相关文章:
- 如何使用JavaScript提取此url的一部分
- 使用Node/Javascript提取字符串中的所有占位符
- 无法使用 JavaScript 提取 API 发布数据
- 使用 Javascript 提取复选框的值
- javascript提取句子的各个部分
- 使用 JavaScript 提取 URL 参数
- 使用 JavaScript 提取 IFrame 源代码
- 你知道一个开源的Javascript提取/正则表达式引擎吗?
- 使用 Javascript 提取整个 XML 节点内容
- Javascript - 提取跨度值
- 使用 javascript 提取 json 数组数据
- 使用 javascript 提取并浏览文件夹中.ZIP文件修改时间戳
- 仅使用javascript提取数字
- 使用javascript提取HTML
- 使用Javascript提取字符串中的数字
- 使用Javascript提取外部动态链接
- JavaScript提取并处理数组中的值
- JavaScript:提取电子邮件地址的部分并将其拆分为多个部分
- 使用正则表达式或javascript提取ID的最后一部分
- Javascript提取月份、日期和年份格式