정규 표현 식 이 html 태그 와 일치 하 는 속성 값
오늘 은 작업 의 수요 로 html 라벨 의 속성 값 을 가 져 와 야 합 니 다.바로 정규 표현 식 이 생각 났 습 니 다.라벨 은 다음 과 같 습 니 다.
<circle id="ap_test" cx="200" cy="2000" r="2" stroke="black" stroke-width="0" fill="red"/>
<circle id="ap_test" cx="201" cy="2001" r="2" stroke="black" stroke-width="0" fill="red"/>
<circle id="ap_test" cx="202" cy="2002" r="2" stroke="black" stroke-width="0" fill="red"/>
<circle id="ap_test" cx="203" cy="2003" r="2" stroke="black" stroke-width="0" fill="red"/>
$circle 은 위의 circle 태그 의 내용 입 니 다.
preg_match_all('/<\s*circle\s+[^>]*?cx\s*=\s*(\'|\")(.*?)\\1[^>]*?cy\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i', $circle, $arr);
var_dump($arr);
$arr[2]는 cx 의 값 이 고$arr[4]는 cy 의 값 입 니 다.다음은 닫 힌 HTML 탭 과 정규 일치 하 는 것 을 소개 합 니 다.(끼 워 넣 기 지원)
모든 복잡 한 정규 표현 식 은 간단 한 하위 표현 식 으로 구성 되 어 있 습 니 다.복잡 한 정규 표현 식 을 쓰 려 면 한편 으로 는 복잡 하고 간단 한 기초 가 필요 합 니 다.다른 한편,우 리 는 정규 엔진 의 측면 에서 문 제 를 생각해 야 합 니 다.정규 엔진 의 원리 에 대해 서 는 중국어 이름 인 을 추천 합 니 다.괜 찮 은 책 이에 요.
OK,먼저 우리 가 해결 해 야 할 문 제 를 확인 합 니 다.Html 텍스트 에서 특정한 id 라벨 의 innerHTML 을 찾 습 니 다.
이 중 가장 큰 난점 은 Html 태그 가 내장 되 어 있 는 것 입 니 다.지정 한 태그 에 해당 하 는 닫 힌 태 그 를 어떻게 찾 을 수 있 습 니까?
우 리 는 이렇게 생각 할 수 있 습 니 다.먼저 맨 앞 에 있 는 시작 탭 과 일치 합 니 다.div 라 고 가정 하 십시오(
내 가 이렇게 생각 할 수 있 는 이 유 는 내 가 정규 의 특성 을 알 고 정규 중의 균형 팀 이 내 가 방금 말 한'스 택'작업 을 실현 할 수 있다 는 것 을 알 기 때문이다.따라서 우리 가 복잡 한 정규 표현 식 을 만 들 려 면 정규 의 일부 고급 특성 에 대해 적어도 알 아야 한다.그러면 우 리 는 문 제 를 생각 하 는 데 방향 이 있 을 것 이다.
================================
HTML 탭 을 임의로 닫 는 정규 표현 식 과 일치 합 니 다:
여러 HTML 탭 과 일치 하려 면 다음 정규 표현 식 을 사용 하 십시오.
<(?(div|span|h1))[^>]*?>((?<\k[^>]*>)|>(?<-Nested>)|.*?)*>
일치 하 는 탭 을 계속 추가 할 수 있 습 니 다.
ID 가 포 함 된 탭 과 일치 하려 면 다음 정규 표현 식 을 사용 하 십시오.
================================
HTML 탭 을 임의로 닫 는 정규 표현 식 과 일치 합 니 다:
<(?<HtmlTag>[\w]+)[^>]*?>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*</\k<HtmlTag>>
div 태그 만 일치 하려 면 다음 정규 표현 식 을 사용 하 십시오:
<(?<HtmlTag>div)[^>]*?>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*</\k<HtmlTag>>
네,일치 하 는 HTML 탭 으로 div 를 수정 할 수 있 습 니 다.여러 HTML 탭 과 일치 하려 면 다음 정규 표현 식 을 사용 하 십시오.
<(?
일치 하 는 탭 을 계속 추가 할 수 있 습 니 다.
ID 가 포 함 된 탭 과 일치 하려 면 다음 정규 표현 식 을 사용 하 십시오.
<(?<HtmlTag>[\w]+)[^>]*\s[iI][dD]=(?<Quote>["']?)footer(?(Quote)\k<Quote>)[^>]*?(/>|>((?<Nested><\k<HtmlTag>[^>]*>)|</\k<HtmlTag>>(?<-Nested>)|.*?)*</\k<HtmlTag>>)
이 정규 는 임의의 id 가 footer 인 HTML 탭 과 일치 합 니 다.이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
비프로그램 디자인으로 iMessage용 라벨을 만들면아이폰/아이패드 쓰시는 분들 아이메시지 스티커 있으신가요?솔직히 말하면 실제 상황은 그다지 사용되지 않는다.나는 라벨을 거의 받지 못했기 때문이다. 이 기사에서 나는 그런 이야기를 할 것이다. 위에서 말한 바와 같이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.