> 백엔드 개발 > PHP 튜토리얼 > obstart의 약간의 사용법

obstart의 약간의 사용법

WBOY
풀어 주다: 2016-07-29 09:10:08
원래의
1154명이 탐색했습니다.

opencart 이미지 로딩을 처리할 때lazylaod jquery 플러그인을 사용하고 싶습니다.
백그라운드에서 로딩할 때 웹사이트의 프런트 엔드가 표시되고, 그 안에 편집된 제품의 이미지가 표시됩니다. 배경이 표시되지 않습니다.

백그라운드에서 수동으로 제품을 추가하지 않고 크롤러를 사용하여 자동으로 제품을 입력하기 때문입니다. 즉, 이미지를 표시하기 위해 지연로드를 처리할 때 src data-data-original width height 속성이 한꺼번에 생성되므로 배경 표시는 볼 수 없지만 검토 요소는 볼 수 있습니다.

이렇게 PHP를 추가하면 다음과 같이 재현할 수 있습니다.

<code>foreach (xx as x){
 $imgs.='<img src="image/catalog/lazyload_grey.gif" 
 data-original='.$tmp.'image/catalog/product/'.$id."/".$value.' 
 width="800" height='800'>';
}
</code>
로그인 후 복사

그때는 백그라운드 컨트롤러에서 정규식을 바꾸는 게 좋겠다고 생각했어요. 그것을 시도했고 효과가있었습니다. 하지만 제품이 업데이트되면 다시 덮어쓰게 됩니다.

생각해 보세요. js나 ob 함수를 사용하여 프론트 데스크를 통해 처리하는 것이 더 좋습니다.

이 둘 중 하나를 다루지는 않았지만 웹 사이트 최적화가 정말로 필요할 때 구체적인 조치를 취할 수 있도록 아이디어를 기록했습니다.

다음은 ob 함수의 작은 예입니다.

<code><?php
    ob_start();
    echo  '13712345678';
    echo 'another content<br>';
    $result=ob_get_contents();
    echo '<hr>';
    
    ob_clean();
  
    if(preg_match('/\d{11,}/', $result,$match)){
         echo str_replace(substr($match[0],-4),'****',$match[0]);
    }else{
        echo 'no match';
    }
    ob_end_flush();
    
    // result:1371234****
</code>
로그인 후 복사

처리해본 적이 없고 두 방법 모두 별로 좋지 않다고 생각합니다. 지연 로딩 또는 유사한 이미지 지연 로딩이 발생할 때 프런트엔드와 백엔드가 일관되게 표시되지 않는 문제를 처리할 수 있는 더 많은 방법이나 아이디어를 제공할 수 있기를 바랍니다.

참조 웹사이트:

ob 함수가 지연 로드를 처리

lazyload

위의 내용을 포함하여 obstart의 소소한 사용법을 소개하고 있는데, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿