-2
URL 인 문자열에서 두 값을 가져 오는 작은 스크립트를 만들고 있습니다. 아래 코드에서 예제 URL을 볼 수 있으며 두 자리 "i ="값과 더 긴 "l ="값을 추출하려고합니다.PHP에서 Regex 배열 인덱스 추출
나는 이것에 관해 광범위한 조사를했고, 스택 오버 플로우에 관한 다른 모든 질문들은 꽤 단순 해 보였다. 다음 코드가 작동하지 않는 이유
는 내가 슈퍼 근접 합니다만, 궁극적으로 내가 파이썬/장고 사나이 확신 그리고 난에 대한 손실에 있어요 :
$s = "http://mwo.smurfy-net.de/mechlab#i=16&l=71a1896409db5818783971b72ba043f5f3a44fad";
$matches = array();
$result = preg_match('/^i=(?P<iVal>[0-9]+)&l=(?P<lVal>[a-z0-9]+)$/siU', $s, $matches);
echo $matches['iVal'];
echo $matches['lVal'];
I을 실행하면 두 배열 값, iVal 및 lVal이 정의되지 않은 방법에 대한 오류를 가져옵니다.
코드 자체 또는 정규식에 문제가 있는지 확실하지 않습니다. 어떤 도움을 주시면 감사하겠습니다.
$result = preg_match('/i=(?P<iVal>[0-9]+)&l=(?P<lVal>[a-z0-9]+)$/siU', $s, $matches);
// here ___^
은 '^'라인의 시작 위치를 어서 : – ctwheels