채택완료

php 정규식 질문입니다

<div name="work" id="work_one" class="mainBox">

위와 같은 예시에서 div의 속성 값인 name, id, class의 속성값을 정규식을 이용해서 가져오려고 합니다.

즉, work, work_one, mainBox를 정규식을 이용해서 결과값으로 받으려고 하는데, 정규식으로 계속 헤메다가 결국 막혀서 질문 올려요.

 

부탁드립니다

|

답변 5개

채택된 답변
+20 포인트

$html = '<div name="work" id="work_one" class="mainBox">';
preg_match_all('# ([a-z\-]+)=#', $html, $matches);
print_r($matches[1]);



Array
(
    [0] => name
    [1] => id
    [2] => class
)

참조하세요. php버전

<?php
$data = '<div name="work" id="work_one" class="mainBox">';

$pattern = "#<div name=\"(.+)\" id=\"(.+)\" class=\"(.+)\">#i";

preg_match($pattern, $data, $m);

//print_r($m);

echo "name : $m[1]\n";
echo "id : $m[2]\n";
echo "class : $m[3]\n";
 

Copy
// name 안 값 찾기

(<div[^>]+name\s*=\s*[\"']?([^>\"']+)[\"']?[^>]*>)

 

// id 값찾기

(<div[^>]+id\s*=\s*[\"']?([^>\"']+)[\"']?[^>]*>)

 

//  class 값 찾기

(<div[^>]+class\s*=\s*[\"']?([^>\"']+)[\"']?[^>]*>)

답변을 작성하려면 로그인이 필요합니다.