게시판홈 / 웹개발 / 정규식을 사용해서 문자열내에서 특정한 데이타만 추출해 내려고 합니다.새글쓰기 답글쓰기

저자 정규식을 사용해서 문자열내에서 특정한 데이타만 추출해 내려고 합니다.
artech (7903)
Manager(523)
2001-12-24
충주

  게시일: 2007-04-09 00:54|||||
정규식을 공부한 뒤 질문하시는 것이 나을 것 같습니다. 먼저 정규식을 감쌀때에는 작은 따옴표('')로 감싸면 안됩니다. 아울러 두개의 경우 모두 다음과 같은 코드로 한꺼번에 처리할 수 있습니다.

소스보기

$arr[1]은 .jpg가 $arr[2]에는 jpg가 저장됩니다.

코드에 대한 설명은 정규식 전체에 대한 설명이 들어가야 하므로 생략하겠습니다.

[ 메시지수정: artech 일시: 2007-04-09 00:58 ]
서명 추천팁: 시스템 정보 보기 오류 메시지 복사하기 자주묻는질문
한마디: 당신의 한마디가 세상을 아름답게 만듭니다.
두마디: 좋은 질문이 좋은 답변을 만듭니다.
마지막: DoA is not DNA.
artech (7903)
Manager(523)
2001-12-24
충주

  게시일: 2007-04-09 16:08|||||
인용
글쓴이: minerva 날짜: 2007-04-09 15:53
그런데, 그렇게 말씀하셔놓고, 정작 답변에서는 질문과는 전혀 동떨어진

엉뚱한 답변을 하시니.. 듣는 사람입장에서는 뭐라고 해야 할까요..

황당하다고 해야 할까요.. 어이가 없다고 해야할까요 ... .

예. 이부분은 제 잘못입니다. 정규식을 작은 따옴표로 인용한 것을 보고 정규식을 자세히 보지 않았습니다. 아울러 설명을 보니 꼭 확장자를 추출하는 것 같았습니다. 또

인용
http://②.jpg

위의 소스에서 괄호만 이동하면 원하는 결과가 나옵니다. 따라서 완전히 동떨어진 답이 아닙니다.

http://qaos.com/t.phps



인용
img]가 포함된것과는 무관하게 확장자가 jpg로 끝나는 경우에는

무조건 결과에 포함됩니다.

요부분에 의미가 부정확합니다.

아울러 제가 공부를 해야한다고 한 것은 정규식을 인용하면서 작은 따옴표를 사용했기 때문입니다. 큰 따옴표를 사용해서 인용해야 "\]"로 입력하면자 "["로 인식됩니다. 그러나 다시 작성한 정규식을 보면 여전히 작은 따옴표를 사용하고 있습니다. 사실 이런 부분은 PHP에서 가장 기본적인 부분입니다.

가장 기본적인 것을 모르는 상태에서 복잡한 정규식을 놓고 씨름을 하고 있기 때문에 공부를 먼저 해야한다고 얘기한 것입니다. 공부를 먼저 해야한다는 것이 물론 기분 나쁠 수는 있습니다. 그러나 가장 기본적인 것을 모른다면 계속 같은 문제로 질문할 수 밖에 없습니다.

다른 문제에 대한 minerva의 질문이나 답변을 보면 명확한 편입니다. 그러나 웹에 관련된 질문만은 항상 모호합니다. 그 이유는 어디에 있다고 생각하시는지요?

그리고 공부하지 않고 각각의 케이스에 대한 코드를 원하신 다면 사실 QAOS.com보다는 다른 사이트(http://phpschool.com과 같은)가 사이트가 낫습니다. 그 이유는 웹 개발에 대한 답변은 QAOS.com에서는 거의 저만 답변하지만 다른 사이트에서는 다른 분들도 가능하기 때문입니다.

마지막으로 저는 대부분의 질문에 답을 하려고 하지만 이런 답은 사정상 늦어질 수 있습니다. 이 사이트를 운영하는 것 하나에 모든 시간을 다 투자할 수 없기 때문이다. 따라서 가급적 질문의 요지를 적어 주시는 것이 좋습니다.

인용
[img:①]http://②.jpg[/img:①]
이렇게 되어있는 부분을 찾아내서

앞뒤 [img:①] [/img:①]
를 잘라내고 가운데 http://②.jpg 부분만 뽑아내려고 합니다.

처음부터 PHP 코드가 아니라 이렇게 설명했다면 다른 얘기없이 원하는 답을 얻을 수 있습니다. 아울러 자신의 소스 중 잘못된 곳을 찾아달라는 것은 원하는 기능의 코드를 알려 달라는 것보다 사실 더 어렵습니다. 이점은 모든 개발자가 공통적으로 인정하는 부분입니다.

기능이라면 간단한지 복잡한지를 판단해서 코드를 만들어 주면되지만 소스는 그 소스를 가지고 뭐가 문제인지 계속 디코딩을 해야 하기 때문입니다.

[ 메시지수정: artech 일시: 2007-04-09 21:14 ]
서명 추천팁: 시스템 정보 보기 오류 메시지 복사하기 자주묻는질문
한마디: 당신의 한마디가 세상을 아름답게 만듭니다.
두마디: 좋은 질문이 좋은 답변을 만듭니다.
마지막: DoA is not DNA.
artech (7903)
Manager(523)
2001-12-24
충주

  게시일: 2007-04-09 22:33|||||
원래 큰따옴표의 기능이 치환입니다. 따라서 "\["와 '\['는 큰 차이가 있습니다. "\["는 "["로 인식하지만 '\['는 \[로 인식합니다. 따라서 "문자열"과 '문자열'은 차이가 없지만 "문자열\n"과 '문자열\n'은 차이가 있습니다.

"문자열\n"은 "문자열 줄바꿈"으로 치환되지만 '문자열\n'은 문자열\n으로 출력됩니다. 이 부분은 다른 언어도 모두 마찬가지입니다.

그리고 저 역시 웹 개발을 배운적은 없습니다. minerva님과 똑 같이 관심이 있어서 시작한 것 뿐입니다. 프로그래밍 언어 자체를 배운적이 없습니다. 그리고 정규식의 경우 작은 따옴표는 확인해 보도록 하겠습니다.

str*가 ereg 보다 빠르고, ereg가 preg보다 빠른 것으로 알려져 있습니다. 그러나 PHP 문서에는 ereg 보다는 preg를 사용할 것을 권고하고 있습니다. 실제 str*이 preg보다는 빠르며 서버에 부담이 적은 것은 사실입니다. 그러나 ereg와 preg는 판올림 때문인지 몰라도 큰 차이가 없습니다.

그리고 지금까지 minerva님의 모습을 봐왔기 때문(qaos 보다는 parkoz에 활동을 많이 하시지만 이런 모습까지 알고 있습니다)에 따로 감정 상할일은 없습니다. 아울러 이 사이트를 십년 넘게 운영하면서 얻은 경험 때문에 minerva님이 어떤 의도로 쓰셨는지도 잘알고 있습니다. 아울러 제 글이 기분 나쁘셨다면 너그러운 마음으로 이해해 주시기 바랍니다.

마지막으로 글을 쓰실 때 강제로 엔터를 치지 않으셨으면 합니다. 사실 저는 엔터는 줄을 바꿀 때만 쓰고 꼭 문단 개념을 가지고 글을 씁니다. 이렇게 하는 경우 웹에서는 줄사이가 좁기 때문에 사람들이 가장 편하게 읽을 수 있는 줄 간격(통계)인 160%~180% 사이로 홈페이지 CSS를 설정해 두고 있습니다.

그러나 minerva님은 더블 스페이싱을 의식하신 듯 엔터를 입력하고 또 상당수는 두번씩 입력하기 때문에 한페이지에 내용이 보이지 않아 글을 읽기 조금 힘듭니다. minerva님 글이 눈에 잘 와닿지 않았던 이유도 여기에 있었던 것 같습니다. 물론 다른 사이트에서는 줄간격을 100%로 설정하기 때문에 엔터를 입력하는 것이 더 잘 보일 수도 있지만 QAOS.com에서는 오히려 가독성을 방해하는 것 같습니다.

그리고 언제나 좋은 글 감사드리며 건설적인 비판은 아직까지 거절해 본적이 없습니다. 잘못 된 부분이 있다면 언제든지 알려 해주시기 바랍니다.

[ 메시지수정: artech 일시: 2007-04-09 23:54 ]
서명 추천팁: 시스템 정보 보기 오류 메시지 복사하기 자주묻는질문
한마디: 당신의 한마디가 세상을 아름답게 만듭니다.
두마디: 좋은 질문이 좋은 답변을 만듭니다.
마지막: DoA is not DNA.
다음글: HTML 문서에서 POST로 submit을 하는데 퍼센트인코딩으로 바뀌네요 (1)4318yes0song2009-11-11
이전글: 태그는 대문자와 소문자를 가리나요? (2)5410salm20002009-04-08

새글쓰기 답글쓰기
이동:

세상사는 이야기

  • 오타도 즐거운 안드로 >
  • 최고의 OCR 어플, Text >
  • 누구나 할 수 있는 순 >
  • 듀오백 컨텐츠 허브, >
  • 초딩도 할 수 있는 아 >
  • 듀오백 2.0, 최적의 등 >
  • 의자이기를 포기(?)한 >
  • 야후의 꼴통 짓과 플리 >
  • 책을 테이크 아웃? 크 >
  • 전자책(크레마 터치), >


  • RSS 구독 (익명 | 회원 | 강좌 | 포럼)
    (C) 1996 ~ 2014 QAOS.com All rights reserved.