0

如何在下面的代码中使用 preg_match 获取字符串:pL427014992694557?document.write 中的函数名称可以变化 例如:xS427014992694557 或 nH927014992694557

R$document.write(pL427014992694557())

Tks

4

3 回答 3

0

据我所知,您需要一个小写字母、一个大写字母,然后是 14 个数字。

$subject = "pL427014992694557";
$pattern = '/[a-z][A-Z][0-9]{14}/';
preg_match($pattern, $subject, $matches);
print_r($matches);
于 2012-08-30T20:12:09.350 回答
0
$source = 'R$document.write(pL427014992694557())';
preg_match("/^[^(]+[(]([a-zA-Z0-9]+)/", $source, $match);
echo $match[1];
于 2012-08-30T20:33:09.540 回答
0

我已经使用 preg_match 做到了。我的代码如下

<?php
ob_start();
?>
<script type="text/javascript">document.write(pL427014992694557');</script>
<?php
$offset = ob_get_clean();
$kt =  strip_tags($offset);
$pattern = "/document\.write\('([^)]*)'\)/";
preg_match($pattern, $kt, $matches);
print_r($matches[1]);
?>

我的输出

sample
于 2015-05-08T10:53:32.990 回答