정규식 입니다...
&sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90&page=0
그누보드의
&sca= ... & 사이에 있는 값을 바꾸고 싶어요.
예상하는 행태는 4가지 입니다.
&sca=...
&sca=...&
?sca=...
?sca=...&
클럽2 utf-8 삭제에서 문제가 생겨서, 도와주세욤~! ㅠ..ㅠ...
그누보드의
&sca= ... & 사이에 있는 값을 바꾸고 싶어요.
예상하는 행태는 4가지 입니다.
&sca=...
&sca=...&
?sca=...
?sca=...&
클럽2 utf-8 삭제에서 문제가 생겨서, 도와주세욤~! ㅠ..ㅠ...
댓글 11개
15년 전
이걸 말하는 건지 모르겟네요
<?php
$str = '&sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90&page=0';
//&sca=...
$case1 = preg_replace("`&sca=([^&]+)&.+$`", '&sca=\1', $str);
echo $case1 . '<br />';
//&sca=...&
$case2 = preg_replace("`&sca=([^&]+)&.+$`", '&sca=\1&', $str);
echo $case2 . '<br />';
//?sca=...
$case3 = preg_replace("`&sca=([^&]+)&.+$`", '?sca=\1', $str);
echo $case3 . '<br />';
//?sca=...&
$case4 = preg_replace("`&sca=([^&]+)&.+$`", '?sca=\1&', $str);
echo $case4 . '<br />';
?>
<?php
$str = '&sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90&page=0';
//&sca=...
$case1 = preg_replace("`&sca=([^&]+)&.+$`", '&sca=\1', $str);
echo $case1 . '<br />';
//&sca=...&
$case2 = preg_replace("`&sca=([^&]+)&.+$`", '&sca=\1&', $str);
echo $case2 . '<br />';
//?sca=...
$case3 = preg_replace("`&sca=([^&]+)&.+$`", '?sca=\1', $str);
echo $case3 . '<br />';
//?sca=...&
$case4 = preg_replace("`&sca=([^&]+)&.+$`", '?sca=\1&', $str);
echo $case4 . '<br />';
?>
15년 전
한번에...ㅠ.ㅠ...
15년 전
어떻게 한다는 건지 정확한 의미를 모르겟어요....
15년 전
http://regex.kr 에 질문해 주시면 열과 성의를 다해 연구해 보겠습니다.
15년 전
^^
15년 전
이걸 말하는 건가요?
<?php
$str = '&sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90&page=0';
$replace_str = 'ccccc';
$result = preg_replace("`sca=([^&]+)(&?)`", 'sca=' . $replace_str . '\2', $str);
echo $result . '<br />';
$str = '?sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90&page=0';
$replace_str = 'ccccc';
$result = preg_replace("`sca=([^&]+)(&?)`", 'sca=' . $replace_str . '\2', $str);
echo $result . '<br />';
$str = '&sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90';
$replace_str = 'ccccc';
$result = preg_replace("`sca=([^&]+)(&?)`", 'sca=' . $replace_str . '\2', $str);
echo $result . '<br />';
$str = '?sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90';
$replace_str = 'ccccc';
$result = preg_replace("`sca=([^&]+)(&?)`", 'sca=' . $replace_str . '\2', $str);
echo $result . '<br />';
?>
<?php
$str = '&sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90&page=0';
$replace_str = 'ccccc';
$result = preg_replace("`sca=([^&]+)(&?)`", 'sca=' . $replace_str . '\2', $str);
echo $result . '<br />';
$str = '?sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90&page=0';
$replace_str = 'ccccc';
$result = preg_replace("`sca=([^&]+)(&?)`", 'sca=' . $replace_str . '\2', $str);
echo $result . '<br />';
$str = '&sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90';
$replace_str = 'ccccc';
$result = preg_replace("`sca=([^&]+)(&?)`", 'sca=' . $replace_str . '\2', $str);
echo $result . '<br />';
$str = '?sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90';
$replace_str = 'ccccc';
$result = preg_replace("`sca=([^&]+)(&?)`", 'sca=' . $replace_str . '\2', $str);
echo $result . '<br />';
?>
15년 전
^_____________________________________________________^...
그런데, $str에서 $replace_str ... 에 해당하는 값을 찾으려면 어떻게 하죠???
$replace_str에 해당하는 값을 찾아서, 그것을 urldecode해서 바꾸려고 하는 것이라서요.
1. $str에서 $replace_str에 해당하는 값을 찾는다
2. $replace_str= urldecode($replace_str);
3. $result = preg_replace("`sca=([^&]+)(&?)`", 'sca=' . $replace_str . '\2', $str);
날잡아서 한달쯤 정규식 공부 해야할까봐요. ㅠ..ㅠ...
그런데, $str에서 $replace_str ... 에 해당하는 값을 찾으려면 어떻게 하죠???
$replace_str에 해당하는 값을 찾아서, 그것을 urldecode해서 바꾸려고 하는 것이라서요.
1. $str에서 $replace_str에 해당하는 값을 찾는다
2. $replace_str= urldecode($replace_str);
3. $result = preg_replace("`sca=([^&]+)(&?)`", 'sca=' . $replace_str . '\2', $str);
날잡아서 한달쯤 정규식 공부 해야할까봐요. ㅠ..ㅠ...
15년 전
그 부분을 urldecode 하는 것이 목적이라면
<?php
$str = '&sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90&page=0';
echo urldecode($str) . '<br />';
$result = preg_replace("`sca=([^&]+)(&?)`e", "'sca=' . urldecode('\\1') . '\\2'", $str);
echo $result . '<br /><br />';
$str = '?sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90&page=0';
echo urldecode($str) . '<br />';
$result = preg_replace("`sca=([^&]+)(&?)`e", "'sca=' . urldecode('\\1') . '\\2'", $str);
echo $result . '<br /><br />';
$str = '&sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90';
echo urldecode($str) . '<br />';
$result = preg_replace("`sca=([^&]+)(&?)`e", "'sca=' . urldecode('\\1') . '\\2'", $str);
echo $result . '<br /><br />';
$str = '?sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90';
echo urldecode($str) . '<br />';
$result = preg_replace("`sca=([^&]+)(&?)`e", "'sca=' . urldecode('\\1') . '\\2'", $str);
echo $result . '<br /><br />';
?>
이렇게 하시면 됩니다.
<?php
$str = '&sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90&page=0';
echo urldecode($str) . '<br />';
$result = preg_replace("`sca=([^&]+)(&?)`e", "'sca=' . urldecode('\\1') . '\\2'", $str);
echo $result . '<br /><br />';
$str = '?sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90&page=0';
echo urldecode($str) . '<br />';
$result = preg_replace("`sca=([^&]+)(&?)`e", "'sca=' . urldecode('\\1') . '\\2'", $str);
echo $result . '<br /><br />';
$str = '&sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90';
echo urldecode($str) . '<br />';
$result = preg_replace("`sca=([^&]+)(&?)`e", "'sca=' . urldecode('\\1') . '\\2'", $str);
echo $result . '<br /><br />';
$str = '?sca=%5C%EC%9E%90%5C%EC%9C%A0%EA%B2%8C%5C%EC%8B%9C%5C%ED%8C%90';
echo urldecode($str) . '<br />';
$result = preg_replace("`sca=([^&]+)(&?)`e", "'sca=' . urldecode('\\1') . '\\2'", $str);
echo $result . '<br /><br />';
?>
이렇게 하시면 됩니다.
15년 전
학...이렇게 한줄로 되는거에요? 넘 감사드립니다. ㅠ.ㅠ....
그누보드에 $sca가 들어갔다 나올때, utf-8에서는 encode 때문에 문제가 되더라구요.
그래서, 굳이 풀어버리는게 필요해서요.
그누보드에 $sca가 들어갔다 나올때, utf-8에서는 encode 때문에 문제가 되더라구요.
그래서, 굳이 풀어버리는게 필요해서요.
15년 전
$result = preg_replace("`sca=([^&]+)(&?)`e", "'sca=' . str_replace('\\','', urldecode('\\1')) . '\\2'", $qstr);
이렇게 \\1의 결과에 str_replace까지 하려구 했더니, 안되네요. ㅠ..ㅠ...
이렇게 \\1의 결과에 str_replace까지 하려구 했더니, 안되네요. ㅠ..ㅠ...
15년 전
$result = preg_replace("`sca=([^&]+)(&?)`e", "'sca=' . str_replace(\"\\\\\\\", \"\", urldecode('\\1')) . '\\2'", $qstr);
유창화님이 최종으로 알려주신 것 입니다. 잘 되요.
유창화님이 최종으로 알려주신 것 입니다. 잘 되요.
게시판 목록
그누4 질문답변
그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.
기존 게시물은 열람만 가능합니다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 66554 | 11년 전 | 17733 | ||
| 66553 | 11년 전 | 12554 | ||
| 66552 |
alexseo
|
11년 전 | 10188 | |
| 66551 | 11년 전 | 10925 | ||
| 66550 | 11년 전 | 10496 | ||
| 66549 | 11년 전 | 11846 | ||
| 66548 | 11년 전 | 15029 | ||
| 66547 |
스타크루즈
|
11년 전 | 11493 | |
| 66546 |
kimch
|
11년 전 | 11599 | |
| 66545 | 11년 전 | 11423 | ||
| 66544 | 11년 전 | 12271 | ||
| 66543 |
별을기다리며
|
11년 전 | 14432 | |
| 66542 |
별을기다리며
|
11년 전 | 11924 | |
| 66541 | 11년 전 | 9692 | ||
| 66540 | 11년 전 | 10566 | ||
| 66539 | 11년 전 | 16399 | ||
| 66538 | 11년 전 | 10451 | ||
| 66537 | 11년 전 | 9134 | ||
| 66536 | 11년 전 | 10574 | ||
| 66535 |
alexseo
|
11년 전 | 5590 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기