<font face="나눔바른고딕, NanumBarunGothic">
위의 태그에서 <font> 만 남기기 위해 face= 부분을 정규식으로 삭제하려고 합니다.
아래처럼 코딩을 했는데요, 잘 안 되네요 ㅜ
$wr_content = preg_replace('!face=\"(.*?)\"!is', '', $wr_content);
정규식 잘 아시는 분 좀 도와주시면 감사하겠습니다.
답변 2개 / 댓글 4개
채택된 답변
+20 포인트
2023-07-19 (수) 15:27:00
Copy
<?php
$wr_content = <<<HEREDOC
0<font face="나눔바른고딕, NanumBarunGothic">
1<font face="나눔바른고딕, 'Courier New' ">
2<font face=' '>xㄴㅇs face="나눔바른고딕, 'Courier New' "
3<font face=" Menlo ">xㄴㅇs face="나눔바른고딕, 'Courier New' "</font>
4<font face=" "></font>
5<font face="" class="aa"></font>
6<font face=''></font>
7<font class='bb' face=''></font>
8<font class=cc face=dd data-foo="bar"></font>
HEREDOC;
$wr_content = preg_replace('!(<font.*?)\s+face=.*?(\s+[^=>]+=[^=>]+)*>!is', '$1$2>', $wr_content);
echo $wr_content;
?>
답변에 대한 댓글 1개
2023-07-19 (수) 19:26:39
2023-07-19 (수) 14:27:18
다음과 같이 해 보시는건 어떨까요?
Copy
$wr_content = preg_replace('/face=\"(.*?)\"/is', '', $wr_content);
답변에 대한 댓글 3개
2023-07-19 (수) 19:31:31
[code]
$wr_content = preg_replace('/<font[^>]*>/', '', $wr_content);
[/code]
[code]
$wr_content = preg_replace('/<font[^>]*face="[^"]*"[^>]*>/', '', $wr_content);
[/code]
<font face="나눔바른고딕, NanumBarunGothic">과 같은 문자열에서 face 속성이 대문자로 표기된 경우, 정규식이 일치하지 않을 수 있습니다. 이 경우, i 플래그를 삭제하여 대소문자를 구분하도록 변경하거나 <font 태그와 face 속성을 모두 대소문자를 구분하지 않도록 수정해야 합니다.
정규식의 s 플래그는 . 메타 문자가 줄 바꿈 문자를 포함하여 모든 문자와 일치하도록 설정합니다. 만약 <font> 태그가 여러 줄에 걸쳐 있거나 줄 바꿈 문자가 포함되어 있다면, s 플래그가 필요할 수 있습니다. 이 경우에는 s 플래그를 유지합니다.
정규식이 적용되는 텍스트가 $wr_content에 포함되어 있어야 합니다. 위의 부분들을 검토해보세요
$wr_content = preg_replace('/<font[^>]*>/', '', $wr_content);
[/code]
[code]
$wr_content = preg_replace('/<font[^>]*face="[^"]*"[^>]*>/', '', $wr_content);
[/code]
<font face="나눔바른고딕, NanumBarunGothic">과 같은 문자열에서 face 속성이 대문자로 표기된 경우, 정규식이 일치하지 않을 수 있습니다. 이 경우, i 플래그를 삭제하여 대소문자를 구분하도록 변경하거나 <font 태그와 face 속성을 모두 대소문자를 구분하지 않도록 수정해야 합니다.
정규식의 s 플래그는 . 메타 문자가 줄 바꿈 문자를 포함하여 모든 문자와 일치하도록 설정합니다. 만약 <font> 태그가 여러 줄에 걸쳐 있거나 줄 바꿈 문자가 포함되어 있다면, s 플래그가 필요할 수 있습니다. 이 경우에는 s 플래그를 유지합니다.
정규식이 적용되는 텍스트가 $wr_content에 포함되어 있어야 합니다. 위의 부분들을 검토해보세요
답변을 작성하려면 로그인이 필요합니다.
혹시 아래와 같은 경우, 중간에 face 부분만 없애려면 어떻게 해야하는지도 궁금한데, 시간 되시면 답변 부탁드려도 될까요? 제가 시도해봤는데 어렵네요..
<font class="bb" face="나눔고딕" style="color:#fff">