예를 들어...
br태그를 XHTML형식인 br/로 바꾸는 것을 만들때요.
$text = '<br class="abcd">
<br>
<br >
<br/>';
$pattern = '/<br(.*)>/';
$replacement = '<br\1/>';
$result = preg_replace($pattern, $replacement, $text);
print_r($result);
이렇게 하면
<br class="abcd"/>
<br/>
<br />
<br//>
대체로 잘 나오지만 마지막에 '이미 잘 되어 있는' br/태그일경우 br//로 슬래시가 두개가 되어버립니다.
이런 경우 어떻게 해야 할까요.
/를 인식시키려면 $pattern을 바꿔줘야 하겠는데, 정규식 생초보라 잘 안되네요 ^^
br태그를 XHTML형식인 br/로 바꾸는 것을 만들때요.
$text = '<br class="abcd">
<br>
<br >
<br/>';
$pattern = '/<br(.*)>/';
$replacement = '<br\1/>';
$result = preg_replace($pattern, $replacement, $text);
print_r($result);
이렇게 하면
<br class="abcd"/>
<br/>
<br />
<br//>
대체로 잘 나오지만 마지막에 '이미 잘 되어 있는' br/태그일경우 br//로 슬래시가 두개가 되어버립니다.
이런 경우 어떻게 해야 할까요.
/를 인식시키려면 $pattern을 바꿔줘야 하겠는데, 정규식 생초보라 잘 안되네요 ^^
[이 게시물은 관리자님에 의해 2011-10-31 17:16:08 PHP & HTML에서 이동 됨]
댓글 5개
17년 전
$text = '<br class="abcd">
<br>
<br >
<br/>';
$pattern = '/<br([^\/]*)>/i';
$replacement = '<br$1/>';
$result = preg_replace($pattern, $replacement, $text);
print_r($result);
이것도 되네요. ^^
http://phpschool.com/guild/guild_main.php?gd_num=85
<br>
<br >
<br/>';
$pattern = '/<br([^\/]*)>/i';
$replacement = '<br$1/>';
$result = preg_replace($pattern, $replacement, $text);
print_r($result);
이것도 되네요. ^^
http://phpschool.com/guild/guild_main.php?gd_num=85
17년 전
br뒤에 태그가 바로 올 수 있으니.. (.*) 보단 ([^>]*)가 맞습니다.
공백이나 /는 무시하고 강제로 치환하면되니.. ()에서 빼고..
대소문자 구분안하기 /i 옵션 추가..
---
$pattern = '/<br[[:space:]\/]*([^>]*)>/i';
$replacement = '<br \1/>';
공백이나 /는 무시하고 강제로 치환하면되니.. ()에서 빼고..
대소문자 구분안하기 /i 옵션 추가..
---
$pattern = '/<br[[:space:]\/]*([^>]*)>/i';
$replacement = '<br \1/>';
17년 전
<?php
$text = <<<TEXT
<br class="abcd"/> 같이 태그내에 설정값이 있고 뒤에 /가 있을 경우엔
<br class="abcd"//> 같이 슬래시가 두개로 변환되는데 이 경우는 어떻게 해야 할까요.
<br class="abcd">
<br>
<br />
<br/> <br//>
TEXT;
echo preg_replace_callback('@<br(.*?)/*>@', 'trim_callback', $text);
function trim_callback($matches)
{
return '<br '.trim($matches[1]).'/>';
}
?>
$text = <<<TEXT
<br class="abcd"/> 같이 태그내에 설정값이 있고 뒤에 /가 있을 경우엔
<br class="abcd"//> 같이 슬래시가 두개로 변환되는데 이 경우는 어떻게 해야 할까요.
<br class="abcd">
<br>
<br />
<br/> <br//>
TEXT;
echo preg_replace_callback('@<br(.*?)/*>@', 'trim_callback', $text);
function trim_callback($matches)
{
return '<br '.trim($matches[1]).'/>';
}
?>
17년 전
http://phpschool.com/gnuboard4/bbs/board.php?bo_table=qna_function&wr_id=233784&sca=&sfl=mb_id&stx=kagla&sop=and
17년 전
<?php
$text = <<<TEXT
<br class="abcd"/> 같이 태그내에 설정값이 있고 뒤에 /가 있을 경우엔
<br class="abcd"//> 같이 슬래시가 두개로 변환되는데 이 경우는 어떻게 해야 할까요.
<br class="abcd">
<br>
<br />
<br/> <br//>
TEXT;
$text = preg_replace("`<br([^>]*)`ie", "'<br' . stripslashes(str_replace('/', '', '\\1')) . '/'", $text);
?>
<textarea rows=10 cols=100><?=$text?></textarea>
$text = <<<TEXT
<br class="abcd"/> 같이 태그내에 설정값이 있고 뒤에 /가 있을 경우엔
<br class="abcd"//> 같이 슬래시가 두개로 변환되는데 이 경우는 어떻게 해야 할까요.
<br class="abcd">
<br>
<br />
<br/> <br//>
TEXT;
$text = preg_replace("`<br([^>]*)`ie", "'<br' . stripslashes(str_replace('/', '', '\\1')) . '/'", $text);
?>
<textarea rows=10 cols=100><?=$text?></textarea>
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 2230 | 16년 전 | 1294 | ||
| 2229 | 16년 전 | 2161 | ||
| 2228 | 16년 전 | 3226 | ||
| 2227 | 16년 전 | 2173 | ||
| 2226 | 16년 전 | 1756 | ||
| 2225 | 16년 전 | 1519 | ||
| 2224 |
|
16년 전 | 2049 | |
| 2223 | 16년 전 | 4732 | ||
| 2222 | 16년 전 | 1417 | ||
| 2221 |
|
16년 전 | 2149 | |
| 2220 |
|
16년 전 | 2139 | |
| 2219 |
|
16년 전 | 2408 | |
| 2218 |
|
16년 전 | 2151 | |
| 2217 |
|
16년 전 | 4440 | |
| 2216 |
|
16년 전 | 2931 | |
| 2215 | 16년 전 | 2869 | ||
| 2214 | 16년 전 | 1606 | ||
| 2213 | 16년 전 | 1253 | ||
| 2212 |
|
16년 전 | 3956 | |
| 2211 |
|
16년 전 | 1623 | |
| 2210 |
|
16년 전 | 1622 | |
| 2209 | 16년 전 | 2116 | ||
| 2208 | 16년 전 | 1888 | ||
| 2207 |
letsgolee
|
16년 전 | 1499 | |
| 2206 |
|
16년 전 | 3929 | |
| 2205 | 16년 전 | 1767 | ||
| 2204 | 16년 전 | 3141 | ||
| 2203 | 16년 전 | 3029 | ||
| 2202 | 16년 전 | 1053 | ||
| 2201 | 16년 전 | 1847 | ||
| 2200 | 16년 전 | 1601 | ||
| 2199 |
|
16년 전 | 1859 | |
| 2198 |
태양의서쪽
|
16년 전 | 2655 | |
| 2197 |
태양의서쪽
|
16년 전 | 3032 | |
| 2196 |
태양의서쪽
|
16년 전 | 3231 | |
| 2195 | 16년 전 | 3330 | ||
| 2194 | 16년 전 | 1472 | ||
| 2193 |
letsgolee
|
16년 전 | 1428 | |
| 2192 | 16년 전 | 2258 | ||
| 2191 | 17년 전 | 1980 | ||
| 2190 |
|
17년 전 | 2292 | |
| 2189 | 17년 전 | 2814 | ||
| 2188 |
Sizkein
|
17년 전 | 3262 | |
| 2187 |
letsgolee
|
17년 전 | 2361 | |
| 2186 |
Sizkein
|
17년 전 | 1637 | |
| 2185 |
Sizkein
|
17년 전 | 3210 | |
| 2184 |
Sizkein
|
17년 전 | 3066 | |
| 2183 | 17년 전 | 3042 | ||
| 2182 | 17년 전 | 3924 | ||
| 2181 | 17년 전 | 2589 | ||
| 2180 |
|
17년 전 | 2410 | |
| 2179 | 17년 전 | 2656 | ||
| 2178 | 17년 전 | 2903 | ||
| 2177 | 17년 전 | 2621 | ||
| 2176 | 17년 전 | 1458 | ||
| 2175 | 17년 전 | 1899 | ||
| 2174 | 17년 전 | 1497 | ||
| 2173 |
|
17년 전 | 1925 | |
| 2172 | 17년 전 | 2528 | ||
| 2171 | 17년 전 | 8711 | ||
| 2170 | 17년 전 | 3165 | ||
| 2169 | 17년 전 | 4252 | ||
| 2168 |
|
17년 전 | 1995 | |
| 2167 | 17년 전 | 3661 | ||
| 2166 |
|
17년 전 | 1560 | |
| 2165 | 17년 전 | 1391 | ||
| 2164 | 17년 전 | 2328 | ||
| 2163 | 17년 전 | 1322 | ||
| 2162 | 17년 전 | 1644 | ||
| 2161 | 17년 전 | 1462 | ||
| 2160 | 17년 전 | 2533 | ||
| 2159 |
inxps
|
17년 전 | 1506 | |
| 2158 |
inxps
|
17년 전 | 1100 | |
| 2157 | 17년 전 | 1233 | ||
| 2156 | 17년 전 | 3113 | ||
| 2155 | 17년 전 | 2183 | ||
| 2154 | 17년 전 | 1984 | ||
| 2153 |
|
17년 전 | 1225 | |
| 2152 |
letsgolee
|
17년 전 | 2456 | |
| 2151 | 17년 전 | 1176 | ||
| 2150 |
아름다운세상
|
17년 전 | 1133 | |
| 2149 |
아름다운세상
|
17년 전 | 1381 | |
| 2148 |
아름다운세상
|
17년 전 | 2743 | |
| 2147 |
|
17년 전 | 2401 | |
| 2146 | 17년 전 | 2489 | ||
| 2145 | 17년 전 | 1190 | ||
| 2144 | 17년 전 | 1308 | ||
| 2143 | 17년 전 | 3255 | ||
| 2142 | 17년 전 | 2841 | ||
| 2141 | 17년 전 | 4113 | ||
| 2140 | 17년 전 | 2260 | ||
| 2139 | 17년 전 | 2349 | ||
| 2138 | 17년 전 | 1404 | ||
| 2137 | 17년 전 | 2518 | ||
| 2136 | 17년 전 | 2203 | ||
| 2135 | 17년 전 | 2963 | ||
| 2134 |
아름다운세상
|
17년 전 | 2473 | |
| 2133 |
Juinjang
|
17년 전 | 1636 | |
| 2132 | 17년 전 | 2435 | ||
| 2131 | 17년 전 | 1592 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기