使用PHP查找此变量中“URL”中“session”内容的正则表达式是什么:
$var = "<meta http-equiv='refresh' content='0; URL=/game/index.php?page=overview&session=9efae87dd67&lgn=1'>"
谢谢:)
答案 0 :(得分:1)
真的,使用DOM
解析器合并和正则表达式,如下所示:
<?php
$data = <<<DATA
<meta http-equiv='refresh' content='0; URL=/game/index.php?page=overview&session=9efae87dd67&lgn=1'>
<body/>
DATA;
$previous_value = libxml_use_internal_errors(TRUE);
$dom = new DOMDocument();
$dom->loadHTML($data);
$xpath = new DOMXPath($dom);
$meta = $xpath->query("//meta")->item(0);
$regex = '~session=\K[^&]+~';
preg_match($regex, $meta->getAttribute("content"), $session);
echo $session[0];
libxml_clear_errors();
libxml_use_internal_errors($previous_value);
?>
<小时/> 请参阅a demo on ideone.com。
答案 1 :(得分:0)
使用此正则表达式:(?<=&session=)[\da-zA-Z]*
您还需要在PHP代码中转义特殊的html字符。
答案 2 :(得分:0)
(?:session=)\w+
虽然我觉得使用捕获括号更容易:
session=(\w+)
在最后一种情况下,您需要访问匹配号码。 1
答案 3 :(得分:0)
这是你的正则表达式。
touch(filename);