답변 4개 / 댓글 4개
본문 내용이 구체적이지 않아서 확실한 코드를 얄려드릴 수는 없겠으나 정규식 사용이 가능 한다면
다음과 같은 절차로 가능 합니다
1. 정규식으로 url을 모두 추출
2. 동일한 url 갯수 카운트
3. array_unique로 1번의 배열 정리
4. 3번 배열을 loop 하면서 본문에서 첫번째 것만 남기고 나머지는 공백처리
이 부분이 1에서 구한 url형태에 따른 여러가지 상황을 고려해야할 것 같아보입니다
예를들어
http://abc.com/bbs/board.php?bo_table=free&page=1
http://abc.com/bbs/board.php?bo_table=free&page=10
이런 형태가 나온다면 치환에 곤란한 문제가 생깁니다
str_replace 나 preg_replace로 간단히 처리될 문제는 아닙니다
질문이 참 불분명해서 아무 글자나 중복되는 걸 다 지운다면....
사랑합니다. 고맙습니다. 아침입니다. 의 "다"를 모두 지울텐데요?
삭제되는 중복문자열의 "패턴"을 제시해 주셔야 코드에 대한 가닥이 나옵니다.
더 디테일하게 코드를 짠다면 영어인 경우 동일 문자열인 a를 다 지워버리는 형태도 나올 수 있거든요.
Copy
$str = "1234567890
1234567890
1234567890
1234567
1234
123
123456";
$r = implode(PHP_EOL, array_unique(explode(PHP_EOL, $str)));
echo $r;
답변에 대한 댓글 3개
[code]
$str = "
https://www.youtube.com/watch?v=nMQw29nfzpg
https://www.youtube.com/watch?v=nMQw29nfzpg
https://www.youtube.com/watch?v=nMQw29nfzpg
https://www.youtube.com/watch?v=nMQw29nfzpg
";
$r = implode(PHP_EOL, array_unique(explode(PHP_EOL, $str)));
echo $r;
[/code]
$str = "
https://www.youtube.com/watch?v=nMQw29nfzpg
https://www.youtube.com/watch?v=nMQw29nfzpg
https://www.youtube.com/watch?v=nMQw29nfzpg
https://www.youtube.com/watch?v=nMQw29nfzpg
";
$r = implode(PHP_EOL, array_unique(explode(PHP_EOL, $str)));
echo $r;
[/code]
답변을 작성하려면 로그인이 필요합니다.
https://www.youtube.com/watch?v=nMQw29nfzpg
https://www.youtube.com/watch?v=nMQw29nfzpg
https://www.youtube.com/watch?v=nMQw29nfzpg
죄송합니다. 유투브나 URL이 작성됩니다.
본문에 동일한 URL이 여러개 작성되면
중복되는 URL을 날리고 하나의 URL만 출력하고 싶습니다.