테스트 사이트 - 개발 중인 베타 버전입니다

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

훈훈훈훈훈 7년 전 조회 2,932

</p>

<p><a href="http://blog.naver.com/hamchosarang?Redirect=Log&logNo=221317214975" target="_blank" rel="noopener noreferrer">http://blog.naver.com/hamchosarang?Redirect=Log&logNo=221317214975</a>

<a href="http://blog.naver.com/helloworld0x?Redirect=Log&logNo=220944150703" target="_blank" rel="noopener noreferrer">http://blog.naver.com/helloworld0x?Redirect=Log&logNo=220944150703</a>

<a href="http://blog.naver.com/mujigaeo127?Redirect=Log&logNo=221341144490" target="_blank" rel="noopener noreferrer">http://blog.naver.com/mujigaeo127?Redirect=Log&logNo=221341144490</a>

<a href="http://blog.naver.com/jini2877?Redirect=Log&logNo=221278183881" target="_blank" rel="noopener noreferrer">http://blog.naver.com/jini2877?Redirect=Log&logNo=221278183881</a>

<a href="http://blog.naver.com/youngda1004?Redirect=Log&logNo=221140284734" target="_blank" rel="noopener noreferrer">http://blog.naver.com/youngda1004?Redirect=Log&logNo=221140284734</a>

<a href="http://blog.naver.com/powerblog3?Redirect=Log&logNo=221336159804" target="_blank" rel="noopener noreferrer">http://blog.naver.com/powerblog3?Redirect=Log&logNo=221336159804</a>

<a href="http://blog.naver.com/scabbard2?Redirect=Log&logNo=221235756752" target="_blank" rel="noopener noreferrer">http://blog.naver.com/scabbard2?Redirect=Log&logNo=221235756752</a></p>

<p>

 

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

제가 원하는 형식은

 

</p>

<p><a href="http://blog.naver.com/anedthh/221334136984" target="_blank" rel="noopener noreferrer">http://blog.naver.com/anedthh/221334136984</a>

<a href="http://blog.naver.com/hamchosarang/221317214975" target="_blank" rel="noopener noreferrer">http://blog.naver.com/hamchosarang/221317214975</a>

<a href="http://blog.naver.com/helloworld0x/220944150703" target="_blank" rel="noopener noreferrer">http://blog.naver.com/helloworld0x/220944150703</a>

<a href="http://blog.naver.com/mujigaeo127/221341144490" target="_blank" rel="noopener noreferrer">http://blog.naver.com/mujigaeo127/221341144490</a>

<a href="http://blog.naver.com/jini2877/221278183881" target="_blank" rel="noopener noreferrer">http://blog.naver.com/jini2877/221278183881</a>

<a href="http://blog.naver.com/youngda1004/221140284734" target="_blank" rel="noopener noreferrer">http://blog.naver.com/youngda1004/221140284734</a>

<a href="http://blog.naver.com/powerblog3/221336159804" target="_blank" rel="noopener noreferrer">http://blog.naver.com/powerblog3/221336159804</a>

<a href="http://blog.naver.com/scabbard2/221235756752" target="_blank" rel="noopener noreferrer">http://blog.naver.com/scabbard2/221235756752</a></p>

<p>

 

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

 

</p>

<p>$blog_link = "<a href="http://blog.naver.com/akaka1357?Redirect=Log&logNo=221304504196";" target="_blank" rel="noopener noreferrer">http://blog.naver.com/akaka1357?Redirect=Log&logNo=221304504196";</a>

$blog_link = str_replace("?Redirect=Log&logNo=", "/", $blog_link);

echo $blog_link;</p>

<p>

 

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

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

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

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

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

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

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

 

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

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

</p>

<p>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.'
';

}</p>

<p>

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

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

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
P
7년 전

</p>

<p>$text = trim('

<a href="http://blog.naver.com/hamchosarang?Redirect=Log&logNo=221317214975" target="_blank" rel="noopener noreferrer">http://blog.naver.com/hamchosarang?Redirect=Log&logNo=221317214975</a>

<a href="http://blog.naver.com/helloworld0x?Redirect=Log&logNo=220944150703" target="_blank" rel="noopener noreferrer">http://blog.naver.com/helloworld0x?Redirect=Log&logNo=220944150703</a>

<a href="http://blog.naver.com/mujigaeo127?Redirect=Log&logNo=221341144490" target="_blank" rel="noopener noreferrer">http://blog.naver.com/mujigaeo127?Redirect=Log&logNo=221341144490</a>

<a href="http://blog.naver.com/jini2877?Redirect=Log&logNo=221278183881" target="_blank" rel="noopener noreferrer">http://blog.naver.com/jini2877?Redirect=Log&logNo=221278183881</a>

<a href="http://blog.naver.com/youngda1004?Redirect=Log&logNo=221140284734" target="_blank" rel="noopener noreferrer">http://blog.naver.com/youngda1004?Redirect=Log&logNo=221140284734</a>

<a href="http://blog.naver.com/powerblog3?Redirect=Log&logNo=221336159804" target="_blank" rel="noopener noreferrer">http://blog.naver.com/powerblog3?Redirect=Log&logNo=221336159804</a>

<a href="http://blog.naver.com/scabbard2?Redirect=Log&logNo=221235756752" target="_blank" rel="noopener noreferrer">http://blog.naver.com/scabbard2?Redirect=Log&logNo=221235756752</a>

');</p>

<p>$list = explode("\r\n", $text);

$text = '';

foreach ($list as $value) {

    $text .= str_replace('?Redirect=Log&logNo=', '/', $value) . "\r\n";

}

echo '<pre>' . $text . '</pre>';</p>

<p>

 

결과

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

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인