광고가 우측 상단이다 보니 글 본문에 이미지 이전의 텍스트가 충분하지 않으면 이미지 때문에 광고 좌측이 비어 보이는 현상이 나타난다.
이걸 해결하기 위해 일정량의 텍스트 안에 img 태그가 있으면 광고를 감추는 방식을 고민했다.
getContent 함수로 본문 일정 글자수를 불러들인 다음 img 라는 텍스트가 있는지 확인해서 있으면 광고를 감추고, 없으면 광고를 그대로 보여주는 개념이다.
코드는 아래와 같다.
<!--@if(!preg_match('/img/', $oDocument->getContent(100)))--> <style type="text/css"> .jung { display: none !important; } </style> <!--@end-->
이론 상으로는 될 것 같은데, 위 조건식으로는 안된다. (이유 모름)
재미있는 건 img 텍스트 대신 다른 텍스트, 예를 들어 '중국'이라거나 '테스트'라거나 하는 텍스트는 인식을 한다.
<!--@if(!preg_match('/중국/', $oDocument->getContent(100)))--> <style type="text/css"> .jung { display: none !important; } </style> <!--@end-->
다른 분의 조언을 받아 아래와 같은 조건식을 이용해도 안된다.
<!--@if(!preg_match("/<img^?+?>/i", $oDocument->getContent(100)))-->
좀 더 연구가 필요할 듯 하다.
----
(확인 결과) 위 조건식은 본문 앞에서 100글자를 잘라온 것이 아닌 전체 본문을 읽어들인 조건을 건 것이라 나타난 현상
-> 계산식을 아래와 같이 바꿔서 성공 (정확하게 본문 앞에서)
<!--@if(preg_match("/img/", cut_str($oDocument->getContentText(),400)))--> 400글자 이내 img 문자가 있으면 실행 <!--@else--> 그렇지 않으면 실행 <!--@end-->
참고로 이 게시글에서도 (PC 모드에서) 앞부분에 img 라는 문자가 있는 관계로 float 사각 광고가 아닌 본문 상단에 바형(Bar Type) 광고를 표출하게 했다.