문자열에서 조건에 맞는 문자열 차례대로 찾아서 변수에 넣는 법 좀 알려주세요.

문자열에서 조건에 맞는 문자열 차례대로 찾아서 변수에 넣는 법 좀 알려주세요.

QA

문자열에서 조건에 맞는 문자열 차례대로 찾아서 변수에 넣는 법 좀 알려주세요.

본문

예를들어 다음과 같은 문자열이 있을때
한글숫자:숫자
한글숫자:숫자-숫자   
한글숫자:숫자-숫자:숫자 

이런 형태들에서
변수1 = 한글
변수2 = 숫자
변수3 = 숫자
변수4 = 숫자
변수5 = 숫자
이런식으로 차례로 넣는 법을 가르쳐 주세요.

한글의 글자수는 1자에서 6자.
숫자는 1자에서 3자입니다.

그리고 또 한가지 질문은요.
.htaccess 에서
https://domain.com/한글
이렇게 주소창에 입력이 들어올 경우 그러니까 처음에 한글이
들어올 경우 원하는 url로 전달하는 코드가 어떻게 되나요?

이 질문에 댓글 쓰기 :

답변 1


<?php
$arr = [
    '한글1:23',
    '한글한456:7-89',
    '한글한글0:12-345:67-8',
    'ㄱㄱㄱㄱㄱㄱㄱㄱㄱㄱ1:2345678-0-99999999-99'
];
$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]/';
function count_of_digit($str) {
    $len = strlen($str);
    return 1 <= $len && $len <= 3;
}
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');
    $v_arr = array_merge($v_txt, $v_num);
    print('<pre>');
    print_r($v_arr);
    print('</pre>');
}
?>

 


<IfModule mod_rewrite.c>
RewriteEngine On
 
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
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]
</IfModule>
답변을 작성하시기 전에 로그인 해주세요.
전체 2

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT