preg_match를 쓰고 있는데 궁금한 점이 있습니다.
preg_match(' A (.*) B ', $source, $result);
echo $result[1];
이 경우 A가 처음 나오는 부분부터 B까지가 출력되는데 문제는 B는 하나밖에 없지만 A는 여러개가 있다는 겁니다.
그래서 결과값은 A가 처음 나오는 부분부터 B까지의 내용이므로 그 결과 값에는 또다른 A들이 계속 나오거든요.
B를 기준으로 B의 앞에 가장 가까이 있는 A까지만 찾고 싶으면 어떻게 해야할까요?
조언 부탁드립니다.
echo $result[1];
이 경우 A가 처음 나오는 부분부터 B까지가 출력되는데 문제는 B는 하나밖에 없지만 A는 여러개가 있다는 겁니다.
그래서 결과값은 A가 처음 나오는 부분부터 B까지의 내용이므로 그 결과 값에는 또다른 A들이 계속 나오거든요.
B를 기준으로 B의 앞에 가장 가까이 있는 A까지만 찾고 싶으면 어떻게 해야할까요?
조언 부탁드립니다.
|
댓글을 작성하시려면 로그인이 필요합니다.
댓글 2개
$source="A11111AsdfghA3333A9999B12345678";
preg_match("/A([^A]+)B/", $source, $result);
이렇게 하면 9999가 나옵니다
잘 알지못하고 매번 쓰던것만 쓰다보니 조금 상황이 바뀌면 해결이 안되네요.
감사합니다. 하나 또 배워갑니다.