본문에..

 

 

#abcd#efg

 

--> #abcd #efg

 

#abcd #efg

 

->> 추가없이 유지

 

입력시점에는 어려우니 본문출력할때라도..

 

스크립트로 가능하다면 부탁드려요...

 

  • profile

    PHP에서 처리한다면 $content = preg_replace('/(?<!\s)#/', ' #', $content); 이렇게 하시면 됩니다.

    그러나 https://xetown.com/qna/554300#comment_554314 이런 주소까지

    중간에 빈칸이 들어가 버릴 수도 있어요.

     

    ※ 정규식 중간에 불필요한 공백이 들어가서 방금 고쳤습니다.

  • profile profile
    해시태그 애드온에 넣는게 효율적일거 같긴하네요....

    해시태그 애드온에 추가하는 방법을 부탁드리고 싶긴 한데 해시태그 애드온 자료를 열어보셔야 해서....
  • profile profile
    content = content.replace(/(?:^:|^|\s|>|&nbsp;)(#([\w|ㄱ-ㅎ|ㅏ-ㅣ|가-힣\-]+)){1,}/g, function(match) {
    return match.replace(/#([\w|ㄱ-ㅎ|ㅏ-ㅣ|가-힣\-]+)/g, function(m, p1) {
    return newval+encodeURIComponent(p1)+'" '+(opts[3]?'target="_blank" ':'')+'style="color:'+opts[2]+';padding:1px 3px;border:1px solid #0000FF;border-radius:8px;text-decoration:none;" class="hashtag">#'+p1+'</a>';
    });
    });


    저희가 사용하는 해시태그 애드온에서 사용하는 js 의 일부입니다.

    여기서 관여를 할 거 같은데요..
  • profile profile

    맨 앞에 content = content.replace(........ 부분을
    content = content.replace(/(?!\s)(.)(#)/g, '$1 $2').replace(........ 이렇게 바꿔 보세요.

     

    자바스크립트는 lookbehind assertion을 지원하지 않아서 정규식이 좀 지저분해지네요.

  • profile profile
    감사합니다. 잘 되네요.
    해시태그에 디자인을 좀 해줬는데 태그를 전부 붙여서 적은 경우 가로길이가 넘쳐도 태그단위로 줄바꿈해 주는 것이 되지 않아 태그단위로 띄어쓰기 안하는분들께 태그넣을때 띄어쓰기 부탁을 드리기 애매했는데요. 이것으로 해결 될 듯 합니다.