복붙노트

[WORDPRESS] <p> 태그 및 클래스가있는 제목 (<h1>, <h2> ...) 태그를 교체합니다.

WORDPRESS

태그 및 클래스가있는 제목 (

,

...) 태그를 교체합니다.

해결법


  1. 1.

    $content = <<<HTML
    <h1 class="heading-title">test1</h1>
    <H2 class="green">test2</H2>
    <h5 class="red">test</h5>
    <h5 class="">test test</h5>
    HTML;
    
    $content = preg_replace('#<h([1-6]).*?class="(.*?)".*?>(.*?)<\/h[1-6]>#si', '<p class="heading-${1} ${2}">${3}</p>', $content);
    
    echo htmlentities($content);
    

    결과:

    <p class="heading-1 heading-title">test1</p> 
    <p class="heading-2 green">test2</p> 
    <p class="heading-5 red">test</p> 
    <p class="heading-5 ">test test</p>
    

    기존 클래스에 대한 참고 사항 : 요소에 기존 클래스가없는 경우에도 빈 클래스 속성 클래스 = ""를 추가해야합니다. 대신 예상대로 작동하지 않습니다. :( PREG_REPLACE_CALLBACK을 사용하는 것이 더 나은 솔루션입니다. 그런 다음 일치가 있는지 확인하고 P 태그를보다 정확하게 만듭니다.

  2. from https://stackoverflow.com/questions/16958490/replacing-heading-h1-h2-tags-with-p-tags-and-classes by cc-by-sa and MIT license