이해가 안갑니다...
본문
$str = $xpath->query('//script[contains(text(), "dog")]')->item(0)->nodeValue;
// echo $str; // 이 부분의 결과는 dog 1234[cat 입니다.
$res = preg_replace('/^.+?\[/','',$str); // [ 포함 앞 부분을 삭제함
// 그런데...
echo $res; // 하면 결과가 그대로 dog 1234[cat 입니다. (삭제가 안됩니다.)
그런데 변수를 위의 결과값과 똑 같이 직접 아래와 같이 주고 ....
$str = "dog 1234[cat";
$res = preg_replace('/^.+?\[/','',$str);
echo $res; // 하면 결과가 cat 입니다.
// echo $str; // 이 부분의 결과는 dog 1234[cat 입니다.
$res = preg_replace('/^.+?\[/','',$str); // [ 포함 앞 부분을 삭제함
// 그런데...
echo $res; // 하면 결과가 그대로 dog 1234[cat 입니다. (삭제가 안됩니다.)
그런데 변수를 위의 결과값과 똑 같이 직접 아래와 같이 주고 ....
$str = "dog 1234[cat";
$res = preg_replace('/^.+?\[/','',$str);
echo $res; // 하면 결과가 cat 입니다.
왜 결과가 다르게 나오나요?
답변 3
$str = $xpath->query('//script[contains(text(), "dog")]')->item(0)->nodeValue;
이거...프론트 단에서 객체 선택하는 스크립트 인가요?^^;
이게 서버 단에서는 처리 되기 전 값이 출력되서 그런거 같아요~
이거...프론트 단에서 객체 선택하는 스크립트 인가요?^^;
이게 서버 단에서는 처리 되기 전 값이 출력되서 그런거 같아요~
echo strstr('[', $str); 이렇게 하면 뭐가나오나요?
위 단계에서의 dog 1234[cat값은 얼핏 보기에 문자열같아 보이지만 객체일 가능성이 놓습니다.
$str = (string)$str 로 한번 문자열로 돌리고 해보세요.
답변을 작성하시기 전에 로그인 해주세요.