정규식 질문
본문
[코미디] <한글> 왓 이프 What If 2013 (1080p Bluray x265 HEVC 10bit AAC
여기서 [코미디] <한글> 과 What If 2013 (1080p Bluray x265 HEVC 10bit AAC 를 빼고 '왓 이프'만 추출하려고 합니다.
(?:무설치\s)?(?:무자막\s)?(?:한글\s)?(?:직공\s)?(?:저용량\s)?(?:(?:t)?(?:T)?he\s)?(?:\[.+?\](?:.)?(?:\s)?)?(?:\<.*?\>(?:.)?)?|\..+|\s.+|\_.+|([a-zA-Z가-힣0-9]+\s[a-zA-Z가-힣0-9]+)(\s.+)
위에는 제 정규식인데 자꾸 <한글> 이 나오는데 <한글> 빼려면 어떻게 해야 하죠?
<?php
$post_key = $view['subject'];
$string = $post_key;
$patterns = '/(?:무설치\s)?(?:무자막\s)?(?:한글\s)?(?:직공\s)?(?:저용량\s)?(?:(?:t)?(?:T)?he\s)?(?:\[.+?\](?:.)?(?:\s)?)?(?:\<.*?\>(?:.)?)?|\..+|\s.+|\_.+|([a-zA-Z가-힣0-9]+\s[a-zA-Z가-힣0-9]+)(\s.+)/';
$replacements = '$1';
$keywords = preg_replace($patterns, $replacements, $string);
$meta_keywords = trim($keywords);
?>
이게 전체 코드입니다. 좀 도와주세요! 감사합니다.
답변 1
제목을 항상 같은 형태로 만든다고 가정하면 아래와 같습니다
즉 문자열 형식이 아래와 같다면
[~~~~~~] <~~~~~> 한글 asdfgh1213434~
$string ="[코미디] <한글> 왓 이프 What If ~~~~";
preg_match("/\[.*\] <.*> ([가-힣 ]+) /", $string, $match);
echo $match[1];