정규식 질문

정규식 질문

QA

정규식 질문

본문

막돼먹은 영애씨 시즌17.E09.190405.720p-NEXT

 

이걸 정규식해서 막돼먹은 영애씨 만 남겨놓으려고 합니다.

2번째 공백 이후의 것을 선택해 replacements 하게 하려면 어떻게 하면되죠?

 

<?php
$post_key = $view['subject'];
$string = $post_key;
$patterns = '/(?:무설치\s)?(?:무자막\s)?(?:한글\s)?(?:직공\s)?(?:저용량\s)?(?:(?:t)?(?:T)?he\s)?(?:\[.+?\](?:.)?(?:\s)?)?|\..+|\s.+|\_.+/';
$replacements = '';
$keywords = preg_replace($patterns, $replacements, $string);
$meta_keywords = $keywords;
?>

 

현재는 이렇게 되어 있습니다. 첫 스페이스 이후의 것을 지우는 소스입니다.

 

 

 

$d = "NHL 18 19 RS Vegas Golden Knights Chicago Blackhawks 01 12 2…";

$p = "#(\w+\s\w+)(\s.+)#i";
$r = '$1';

$d2 = preg_replace($p, $r, $d);

echo $d2;

 

이건 평정심님이 알려주신 소스인데 영문밖에 안되나 봅니다. 한글이랑 영문 숫자도 먹히게 하려면 어떻게 해야 할까요?

 

너무 어렵습니다. ㅠ.ㅠ

이 질문에 댓글 쓰기 :

답변 1

<?php
$post_key = $view['subject'];
$string = $post_key;
$patterns = '/(?:무설치\s)?(?:무자막\s)?(?:한글\s)?(?:직공\s)?(?:저용량\s)?(?:(?:t)?(?:T)?he\s)?(?:\[.+?\](?:.)?(?:\s)?)?|([a-zA-Z가-힣0-9]+\.[a-zA-Z가-힣0-9]+)(\..+)|\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);
?>

 

이렇게 해결 했습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 220
QA 내용 검색

회원로그인

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