문자열에서 조건에 맞는 문자열 차례대로 찾아서 변수에 넣는 법 좀 알려주세요. 채택완료
하하하X2
2년 전
조회 2,336
예를들어 다음과 같은 문자열이 있을때
한글숫자:숫자
한글숫자:숫자-숫자
한글숫자:숫자-숫자:숫자
이런 형태들에서
변수1 = 한글
변수2 = 숫자
변수3 = 숫자
변수4 = 숫자
변수5 = 숫자
이런식으로 차례로 넣는 법을 가르쳐 주세요.
한글의 글자수는 1자에서 6자.
숫자는 1자에서 3자입니다.
그리고 또 한가지 질문은요.
.htaccess 에서
https://domain.com/%ED%95%9C%EA%B8%80" target="_blank">https://domain.com/한글
이렇게 주소창에 입력이 들어올 경우 그러니까 처음에 한글이
들어올 경우 원하는 url로 전달하는 코드가 어떻게 되나요?
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
2년 전
</p>
<p><?php</p>
<p>$arr = [
'한글1:23',
'한글한456:7-89',
'한글한글0:12-345:67-8',
'ㄱㄱㄱㄱㄱㄱㄱㄱㄱㄱ1:2345678-0-99999999-99'
];</p>
<p>$regexp_txt = '/^[\xE3\x84\xB1-\xE3\x85\x8E\xE3\x85\x8F-\xE3\x85\xA3\xEA\xB0\x80-\xED\x9E\xA3]{3,18}/';
$regexp_sep = '/[\D]/';</p>
<p>function count_of_digit($str) {
$len = strlen($str);
return 1 <= $len && $len <= 3;
}</p>
<p>foreach ($arr as $v) {
$v_txt = [];
$v_num = [];
preg_match($regexp_txt, $v, $v_txt);
$v_num = preg_split($regexp_sep, $v);
$v_num = array_filter($v_num, 'count_of_digit');</p>
<p> $v_arr = array_merge($v_txt, $v_num);
print('<pre>');
print_r($v_arr);
print('</pre>');
}</p>
<p>?></p>
<p>
</p>
<p><IfModule mod_rewrite.c></p>
<p>RewriteEngine On</p>
<p> </p>
<p>RewriteBase /</p>
<p>RewriteCond %{REQUEST_FILENAME} -f [OR]</p>
<p>RewriteCond %{REQUEST_FILENAME} -d</p>
<p>RewriteRule ^ - [L]</p>
<p>RewriteRule ^([\xE3\x84\xB1-\xE3\x85\x8E\xE3\x85\x8F-\xE3\x85\xA3\xEA\xB0\x80-\xED\x9E\xA3]+)$ 원하는url?qs=$1 [L,R=302]</p>
<p></IfModule></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
하하하X2
2년 전
아 대단히 감사합니다. 문제 해결 했습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인