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

게시판 본문에 중복된 단어가 있을경우 하나만 출력할 수 있을까요?

W789 2년 전 조회 1,932

게시판에 누군가 글을 작성 합니다.

 

글내용 :

 

1234567890

1234567890

1234567890

1234567

 

1234

123

123456

 

-------------

 

위 글에서 1234567890 이 동일하게

세번 들어갔는데 동일한 글자일 경우

1234567890 이 본문에 한번만 출력되게 할 수 있을까요?

 

 

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

답변 4개

또 문제가 있습니다.

 

가령

<a href="url">url</a> 이럴 경우 링크안의 innerText 가 사라지면서 링크가 무력화되겠죠.

 

정확히 유튜브주소면 유튜브주소, mp3 경로면 mp3 경로같이 타겟을 명확히 지정해 주셔야지

막연히 url 이라고 한다면 어떻게 코드를 짜더라도 문제가 생길 수 밖에 없어요.

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

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

2년 전

본문 내용이 구체적이지 않아서 확실한 코드를 얄려드릴 수는 없겠으나 정규식 사용이 가능 한다면

다음과 같은 절차로 가능 합니다

 

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를 다 지워버리는 형태도 나올 수 있거든요. 

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

답변에 대한 댓글 1개

W
W789
2년 전
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


죄송합니다. 유투브나 URL이 작성됩니다.
본문에 동일한 URL이 여러개 작성되면
중복되는 URL을 날리고 하나의 URL만 출력하고 싶습니다.

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

2년 전

</p>

<p>$str = "1234567890

1234567890

1234567890

1234567</p>

<p> </p>

<p>1234

123

123456";</p>

<p> </p>

<p>$r = implode(PHP_EOL, array_unique(explode(PHP_EOL, $str)));</p>

<p> </p>

<p>echo $r;</p>

<p>

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

답변에 대한 댓글 3개

W
W789
2년 전
답변 감사합니다. 문제가 작성하는 글이 항상 1234567890 이 아니라서
랜덤하게 글이 올라오는데 같은글자가 여러번 작성되면 한번만 출력시킬수 있을까요?
마르스컴퍼니
2년 전
[code]
$str = "1234567890
4488
3327
2543
4488
1111
7777
1111
";

$r = implode(PHP_EOL, array_unique(explode(PHP_EOL, $str)));

echo $r;
[/code]
마르스컴퍼니
2년 전
[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]

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

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

로그인