$regexp = '/(?:<input\stype="hidden"\sname="){1}([a-zA-Z0-9]*)(?:"\svalue="1"\s\/>)/';
$response = '<input type="hidden" name="7d37dddd0eb2c85b8d394ef36b35f54f" value="1" />';
preg_match($regexp, $response, $matches);
echo $matches[1]; // Outputs: 7d37dddd0eb2c85b8d394ef36b35f54f
그래서이 정규 표현식을 사용하여 스크립트 로그인을 수행하기 위해 Joomla를 구현하는 웹 페이지에서 인증 토큰을 검색합니다.정규 표현식과의 잘못된 일치
나는이 모든 작업을하고 있지만 항상 2 개의 항목을 반환하므로 내 정규 표현식에 어떤 문제가 있는지 궁금합니다.
Array ([0] => [1] => 7d37dddd0eb2c85b8d394ef36b35f54f)
또한 입력 할 페이지의 이름은 길이와 이름이 모두 변경됩니다. preg_match의 수동 입력으로 당
고맙습니다. 귀하의 정규식을 읽는 것이 더 쉬워 보이고 정규식과 일치하는 HTML을하지 않아도된다는 것을 안다. 그러나 이것은 대범한 것처럼 보였다. – Ballsacian1
@ Ballsacian1 : 장례식입니다. ;-) DOMDocument :: loadHTML을 살펴보고 DOM과 XPath로이 문제를 해결하는 것은 가치가 있습니다. – Tomalak