정규식으로 글자를 없애고 싶습니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
정규식으로 글자를 없애고 싶습니다.

QA

정규식으로 글자를 없애고 싶습니다.

본문


http://blog.naver.com/hamchosarang?Redirect=Log&logNo=221317214975
http://blog.naver.com/helloworld0x?Redirect=Log&logNo=220944150703
http://blog.naver.com/mujigaeo127?Redirect=Log&logNo=221341144490
http://blog.naver.com/jini2877?Redirect=Log&logNo=221278183881
http://blog.naver.com/youngda1004?Redirect=Log&logNo=221140284734
http://blog.naver.com/powerblog3?Redirect=Log&logNo=221336159804
http://blog.naver.com/scabbard2?Redirect=Log&logNo=221235756752

 

문자의 패턴은 이러합니다.

제가 원하는 형식은

 


http://blog.naver.com/anedthh/221334136984
http://blog.naver.com/hamchosarang/221317214975
http://blog.naver.com/helloworld0x/220944150703
http://blog.naver.com/mujigaeo127/221341144490
http://blog.naver.com/jini2877/221278183881
http://blog.naver.com/youngda1004/221140284734
http://blog.naver.com/powerblog3/221336159804
http://blog.naver.com/scabbard2/221235756752

 

즉 ?Redirect=Log&logNo= 이 문자열을 없애고 싶은데

 


$blog_link = "http://blog.naver.com/akaka1357?Redirect=Log&logNo=221304504196";
$blog_link = str_replace("?Redirect=Log&logNo=", "/", $blog_link);
echo $blog_link;

 

이런식으로 str_replace를 사용하여 문자열을 자르면 잘 됩니다.

다만 위에서 글짜는 네이버에서 api로 가져온 배열인데

이게 문자열로 인식이 되지 않는것 같습니다.

동일한 str_replace로 해당 문자열 ?Redirect=Log&logNo= 을 없애려 했으나

지워지지않고 그대로 출력되었습니다.

그래서 정규식을 통해서 지우면 된다고 검색을 통해 알게되었는데

정규식을 전혀 할 줄 몰라서 팁이라도 얻고싶어서 질문남깁니다.

 

가지고온 배열을 루프하며 변수에 preg_replace() 함수를 사용하여

정규식으로 글자를 치환해서 넣고 싶습니다.


for($b = 0; $b < count($blog['items']); $b++){
    $blog_link = $blog['items'][$b]['link'];
    $blog_link = preg_replace("?Redirect=Log&logNo=", "/", $blog_link);
    echo $blog_link.'<br>';
}

해당 배열 자체가 echo 로 출력하면 문자로 그대로 나오지만

이상하게 str_replace() 함수로는 글자가 치환되지않습니다.

이 질문에 댓글 쓰기 :

답변 1


$text = trim('
http://blog.naver.com/hamchosarang?Redirect=Log&logNo=221317214975
http://blog.naver.com/helloworld0x?Redirect=Log&logNo=220944150703
http://blog.naver.com/mujigaeo127?Redirect=Log&logNo=221341144490
http://blog.naver.com/jini2877?Redirect=Log&logNo=221278183881
http://blog.naver.com/youngda1004?Redirect=Log&logNo=221140284734
http://blog.naver.com/powerblog3?Redirect=Log&logNo=221336159804
http://blog.naver.com/scabbard2?Redirect=Log&logNo=221235756752
');
$list = explode("\r\n", $text);
$text = '';
foreach ($list as $value) {
    $text .= str_replace('?Redirect=Log&logNo=', '/', $value) . "\r\n";
}
echo '<pre>' . $text . '</pre>';

 

결과

http://blog.naver.com/hamchosarang/221317214975
http://blog.naver.com/helloworld0x/220944150703
http://blog.naver.com/mujigaeo127/221341144490
http://blog.naver.com/jini2877/221278183881
http://blog.naver.com/youngda1004/221140284734
http://blog.naver.com/powerblog3/221336159804
http://blog.naver.com/scabbard2/221235756752

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

회원로그인

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