아래 파일은 XMP 데이터가있는 PhotoShop의 JPG 파일을 사용하여 설정할 수 있습니다. '패턴'에서 'eat :'을 'dc :'또는 '$ string'에서 반환 된 모든 네임 스페이스로 바꿉니다.배열에 호출 된 '문자열'이 왜 보이지 않습니까?
호출 $ 문자열 (1)처럼 보이는 print_r의 배열을 생성하는 다음과 같은 배열 설정을 사용 : (2)
당신이 라인 ubove (1A)를 주석을 해제하는 경우는 찾아보기로 인쇄 할 수는 & 붙여 넣기 복사를 (1a) 아래 줄에. 이것은 다음과 같은 배열을 생성해야합니다 : (3)
왜 그것이 동일한 문자열 일 때 print_r의 차이점이 있습니까?
(3)과 같이 작동하도록하려면 어떻게해야합니까? ... 그럼에도 불구하고 나는 그것을 (4)처럼 끝내게 할 수 있을까요?
<?php
header("Content-Type: text/html; charset=utf-8");
$filename = "2012-04-24_WestCoast_2.jpg";
echo '<img src="'. $filename . '" alt="'. $filename . '" title="' . $filename . '" width="350" /><p />';
$source = file_get_contents($filename);
$xmpdata_start = strpos($source,'<x:xmpmeta');
$xmpdata_end = strpos($source,"</rdf:Description>");
$xmplenght = $xmpdata_end-$xmpdata_start;
$xmpdata = substr($source,$xmpdata_start,$xmplenght+18);
$string = htmlentities($xmpdata); //(1)
//if (is_string($string)) {
// echo "is a string\n"; //TRUE
//} else {
// echo "is not a string\n";
//}
//$string = print_r("'".$string."';");
// (1a)=====================================
//$string = '<x:xmpmeta xmlns: === Truncated for simplicity ===x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 5.3-c011 66.145661, 2012/02/06-14:56:27 "> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"></rdf:Description>';
$pattern = '/eat:(.*?)="(.*?)"/is';
preg_match_all($pattern, $string, $matches);
$group = array($matches[1], $matches[2]);
// foreach($group as &$match);
echo '<pre>';
// print_r ($match);
print_r ($group);
echo '</pre>';
?>
(2) =====================================
/난 그냥 '$ 문자열을'호출 할 경우 /이 내가 무엇을 얻을 수 있습니다 :
Array
(
[0] => Array
(
)
[1] => Array
(
)
)
(3) ======================= ==============
// 나는 주석을 해제하는 경우 (1), I는 파일 내부에 붙여 넣은 '$ 문자열은'나는이 얻을 :
Array
(
[0] => Array
(
[0] => Biography
[1] => Title
[2] => object_description
[3] => Medium
[4] => in_height
[5] => in_width
[6] => in_depth
[7] => Dated
[8] => Photograph
)
[1] => Array
(
[0] => American B1942 Castine, Maine
[1] => Reunion Dinner Party at the Slanted Door
[2] => Nancy Freeman, Tim Patterson The Slanted Door San Francisco Calf.
[3] => photography
[4] => 2736
[5] => 3648
[6] => @ 240 dpi
[7] => April 24, 2012
[8] => PrimaryImage
)
)
(4) ================ =====================
이 내가 너무 얻기 위해 노력하고있어입니다 // :
Biography: American B1942 Castine, Maine
Title: Reunion Dinner Party at the Slanted Door
object_description: Reunion Dinner Party at the Slanted Door
Nancy Freeman, Tim Patterson The Slanted Door San Francisco Calf.
Medium: photography
in_height: 2736
in_width: 3648
in_depth: @ 240 dpi
Dated: April 24, 2012
Photograph: PrimaryImage
문자열이 파일 내부 또는 외부에 설정된 경우의 차이점에 대한 의미를 정리할 수 있습니까? 또한 정규 표현식의 결과를 병합 할 수있는 해결책에 대한 내 대답을 참조하십시오. – RMDan
(3)의 주석 설명을 다음과 같이 수정했습니다. "/ 주석을 제거한 경우 (1) 파일에 붙여 넣은 '$ 문자열'은 다음과 같습니다." –
BTW $ group은 $ 패턴. –