PHP
[PHP] 에디터로 작성한 HTML 코드 중 <img> 와 <img> 사이에 <br> 태그 두개 넣기.
- 2024.09.23 17:16:42
본인이 운영하는 블로그는 다수의 사진이 입력되는 게시글이 많다. 오랜 기간 블로그 글을 작성하다 보니, 게시글 마다 사진과 사진 사이 여백이 제각각이다. 에디터로 작성된 html코드 중에서 정규식을 통해 <img> 와 <img> 태그 사이를 찾아 <br> 태그가 없거나, 2개 미만 이거나, 2개를 초과하는 경우 무조건 <br> 두개가 삽입 되도록 코드를 변경하여 출력해 줬다. [!]<img>와 <img>를 찾아 적용[/!] 모든 <img>와 <img> 사이를 찾아 <br> 두개를 입력해 준다. // 정규식으로 각 <img> 태그 사이에서 <br>을 최대 2개만 남기기 (없거나 2개 미만일 때도 2개로 맞춤)
$pattern = '/(<img[^>]*>)(\s*(<br\s*\/?>\s*)*)/i'; $replacement = '$1<br><br>'; $result = preg_replace($pattern, $replacement, $html); echo $result; [!]<img class="lazy">와 <img class="lazy"> 사이만 찾아 적용[/!] img 태그에 class="lazy" 와 같이 특정한 조건에 부합하는 경우에만 적용한다. // 정규식으로 class="lazy"가 있는 <img> 태그에만 적용
$pattern = '/(<img[^>]*class="lazy"[^>]*>)(\s*(<br\s*\/?>\s*)*)/i'; $replacement = '$1<br><br>'; $result = preg_replace($pattern, $replacement, $html); echo $result; |