2012-01-24 2 views
0

시간 태그에서 XXXX-XX-XX를 추출 할 수 있도록 어떻게 패턴을 형성합니까?preg_match for HTML 5 <time datetime = "xxxx-xx-xx">

나는 $ 문자열에서 찾고 있어요 라인은 이것이다 :

<time datetime="XXXX-XXX-XX" itemprop="birth"> 

그리고 나는 부분을 추출 할 :이이

XXXX-XX-XX 

을하지만 그것은 작동하지 않습니다 :

preg_match('\<time datetime="d{4}-d{2}-d{2}"',$string,$date); 
echo $date[0] . "<br />"; 

나는 정규 표현식을 사용하므로 혼란 스럽다 ... 훌륭한 튜토리얼을 추천한다. 시간과 도움을 감사하십시오.

건배

+1

나는 문제의 파일을 XML을 구문 분석 PHP의 방법을 사용하여 더 나을 거라고 생각합니다. – esqew

+1

HTML/XML 파서를 사용하고 요소를 찾아 'datetime' 속성의 값을 읽습니다. –

+0

[A 요소의 href 속성 가져 오기] 가능한 복제본 (http://stackoverflow.com/questions/3820666/grabbing-the-href-attribute-of-an-a-element) –

답변

3

d 대신 \d을 사용해야합니다.

또한 구분 기호 쌍으로 정규식을 묶어야합니다.

처럼 :

preg_match('/\<time datetime="\d{4}-\d{2}-\d{2}"/',$string,$date); 
+0

시간을 내 주셔서 감사합니다! –

+0

정의되지 않은 오프셋 1 오류가 발생했습니다 ... 때로는 itemprop = "birth"을

+0

신경 쓰지 마세요. :) 지금 일하고있어! 다시 한번 감사드립니다. –

2

당신은 구분 기호, 일부 탈출 및 캡처 그룹을 잊었 :

귀하의 패턴이 /../

preg_match('/\<time datetime="d{4}-d{2}-d{2}"/',$string,$date); 

편집이 필요

preg_match('/<time datetime="(\d{4}-\d{2}-\d{2})"/',$string,$date); 
echo $date[1] . "<br />"; 
+0

고마워요! 나는 그다지 멀지 않았지만 아직까지는 내가 아니었다 고 생각한다. –

1

: 참조 팀의 답변을, 캡쳐 그룹도 필요합니다.

+0

시간을내어 주셔서 감사합니다! –

+0

@MichaelDillon 최근 편집 중 일부가 잘못되었습니다. 이 작업을 중단하십시오 :'나는 http : // www.pdfsharp.net /'=>'나는 [this]'을 권하고 싶다. 링크 텍스트를'this '라는 단어로 대체하는 것은 나쁜 편집 *입니다. 최소한, 나는 그것을 (PDF 샤프) (http : // ...)'라고 권유한다. – meagar

+0

@meagar 입력 해 주셔서 감사합니다. –