>  기사  >  백엔드 개발  >  정규식을 사용하여 PHP에서 너비 및 높이 스타일을 제거하는 방법

정규식을 사용하여 PHP에서 너비 및 높이 스타일을 제거하는 방법

jacklove
jacklove원래의
2018-06-08 17:12:372146검색

업무상 html을 수집하고 html 콘텐츠를 데이터베이스에 저장해야 합니다. 사용에 영향을 주지 않으려면 너비 및 높이 스타일을 삭제해야 합니다. 예를 들어 사진과 p의 너비, 높이 등입니다.

그러나 수집된 HTML에서는 대문자와 소문자, 중간에 공백 등 스타일이 다르게 작성됩니다.

그래서 저는 이러한 이상한 스타일을 필터링하기 위해 일반 PHP를 사용하여 다음 메소드를 작성했습니다.

코드는 다음과 같습니다:

<?php/**
 * 清除宽高样式
 * @param  String $content 内容
 * @return String
 */function clear_wh($content){
    $config = array(&#39;width&#39;, &#39;height&#39;);    foreach($config as $v){        $content = preg_replace(&#39;/&#39;.$v.&#39;\s*=\s*\d+\s*/i&#39;, &#39;&#39;, $content);        $content = preg_replace(&#39;/&#39;.$v.&#39;\s*=\s*.+?["\&#39;]/i&#39;, &#39;&#39;, $content);        $content = preg_replace(&#39;/&#39;.$v.&#39;\s*:\s*\d+\s*px\s*;?/i&#39;, &#39;&#39;, $content);
    }    return $content;
}?>

Demonstration:

<?php$html = <<<HTML
<p style="text-align:center" width="500" height="300">
    <p style="Width : 100px ; Height: 100 px;">
        <img src="/images/test.jpg" width=400 height = 200>
        <p style="float:left; width: 100px; height : 200 px;"></p>
    </p>
    <p style="width :   100 px ;height: 100px">
        <img src="/images/test.jpg" width=400 height = 200>
    </p>
</p>
HTML;echo &#39;<xmp>&#39;;echo &#39;原内容:&#39;.PHP_EOL;echo $html.PHP_EOL.PHP_EOL;echo &#39;过滤后内容:&#39;.PHP_EOL;echo clear_wh($html);echo &#39;</xmp>&#39;;
?>

Output:

原内容:<p style="text-align:center" width="500" height="300">
    <p style="Width : 100px ; Height: 100 px;">
        <img src="/images/test.jpg" width=400 height = 200>
        <p style="float:left; width: 100px; height : 200 px;"></p>
    </p>
    <p style="width :   100 px ;height: 100px">
        <img src="/images/test.jpg" width=400 height = 200>
    </p></p>过滤后内容:<p style="text-align:center"  >
    <p style=" ">
        <img src="/images/test.jpg" >
        <p style="float:left;  "></p>
    </p>
    <p style="">
        <img src="/images/test.jpg" >
    </p></p>

이 문서에서는 일반 PHP를 사용하여 너비 및 높이 스타일을 제거하는 방법을 설명합니다. 더 알아보기 관련 내용은 PHP 중국어 웹사이트를 참고하세요.

관련 권장 사항:

파일 콘텐츠 중복 제거 및 정렬에 대한 자세한 설명

mysql 대소문자 구분 구성 문제 해석

PHP를 사용하여 배열을 병합하고 키 값을 유지하는 방법

위 내용은 정규식을 사용하여 PHP에서 너비 및 높이 스타일을 제거하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.