정규식으로 글자를 없애고 싶습니다. 채택완료
</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개
</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
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인