테스트 사이트 - 개발 중인 베타 버전입니다

정규식관련 질문입니다! ㅠㅠ 채택완료

하틴 6년 전 조회 2,123

$wr_content = "<td style='width:400px;height:40px;'>aaaaaaaaa</td>"

 

일때 여기서 php 정규식을 이용해서 width:400px; 와 height:40px;의 값을 변경해주고싶은데요 ㅠㅠ

 

width:100%, height:100%; 이런식으로 바꿔주고 싶은데..

 

저 width height값이 고정이 아니라서 일반 문자열 변경으로는 힘들 것 같아서 정규식으로 하면

 

될거같은데 혹시 어떻게 하는지 아시는분있으신가요?ㅠㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
6년 전

참조하시죠.

$wr_content = "<td style='width:400px;height:40px;'>aaaaaaaaa</td>";

$w = "100%";
$h = "100%";

$wr_content = preg_replace("#width:400px;height:40px;#i", "width:{$w};height:{$h};", $wr_content);

echo htmlspecialchars($wr_content);

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

하틴
6년 전
답변감사합니다! 잘됩니다!ㅎㅎ

근데 궁금한점이 하나있어서요 ㅠㅠ

width, height값이 고정이 아닌경우에는 그냥 삭제를 해버리고싶은데

답변주신 내용으로 응용해서 해볼려니까 잘안되네요 ㅠㅠ
평정심
6년 전
고정이 아닌경우라는게 무슨 말씀이시죠? 이해가 안되서요 ㅎ
하틴
6년 전
preg_replace("#width:400px;height:40px;#i", "width:{$w};height:{$h};", $wr_content);

여기에 width:400px;height:40px; 이부분이 width값과 height값이 동일할때만

값이 변경되는 것이지 않나요?

width:300px;height:30px; 일때는 변경이 안되지않나요?
평정심
6년 전
그럼 질문을 그렇게 하셨어야죠.
답변자가 그런것까지 고려해야 하는가요?
답변자는 질문자의 정확한 의도를 모를때는 최대한 질문의 내용에
맞쳐 힌트를 드릴려 합니다.

다음 처럼 수정하면 될겁니다.

$wr_content = "<td style='width:400px;height:40px;'>aaaaaaaaa</td>";

$w = "100%";
$h = "100%";

$wr_content = preg_replace("#width:\d*\w*;height:\d*\w*;#i", "width:{$w};height:{$h};", $wr_content);

echo htmlspecialchars($wr_content);
하틴
6년 전
헛;; 죄송합니다 ㅠㅠ 제가 잘모르다보니 질문을 제대로 못드린 것 같습니다 ㅠㅠ

답변 정말 감사드립니다!!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인