제목이 무슨 이야기인지 좀더 풀어서 이야기 하면 회원들이 사이트에 글을 작성할때 url 을 남길 수 있습니다. 직접 타이핑하는 경우는 흔치 않고 복사해서 붙여넣기를 하거나 하는 등 url 주소가 작성됩니다.
그런데 url 중 단축주소의 경우 사용을 금하는 경우가 많은데요. 이는 이 url이 실제 어디로 향하는지 알 수 없어 악의적인 혹은 수익을 목적으로 하는 링크인지 알수없고 또 사이트 자체적으로 제휴된 곳의 이동되는 링크임에도 단축추소로 인해 해당 url이 제휴링크로 변환되지 못해 사이트 수익에 악영향을 줄 수도 있어 금지합니다.
그런데 이 단축 url이 아닌 아예 링크가 걸린 경우 문제가 될 수 있습니다.
실제 텍스트에 보이는 url과 a 태그에 url이 다른 경우입니다. 겉으로 보기에는 그냥 쇼핑몰 url인데 실제 a태그에 가진 링크 속성에 수익코드 등이 들어가 있는 경우가 있을 수 있습니다.
위 url이 네이버로 이동될 것 같지만 a 태그를 작성한 것이라면 ????
이는 악의적으로 하는 경우와 그냥 다른 사이트의 노출된 링크를 가져오면서 발생될 수 있는 아주 흔한 상황인데 이게 관리적인 측면에서 굉장히 소모적인 문제로 골치거리가 될 수 있습니다.
따라서 특정한 게시판에(사이트 수익과도 연관이 있고 url이 공유 되어야 하는 게시판) 본문과 댓글에 아예 a 태그가 제거되도록 할 필요가 있습니다.
a 태그가 제거가 되도라도 자동링크 애드온이나 혹은 제휴링크로 변환하는 자료 등에서 자동으로 url에 a 태그를 만들어 주니 문제가 되지 않습니다.
글 작성시 아예 a 태그만 제거된 상태의 글로 작성이 완료되어 db에 저장되도록 해야 하는데 어떻게 해볼까 찾아보다가 글,댓글 작성 단계에서 정규식 처리를 해주는 애드온이 있어 이 애드온으로 간단하게 처리를 했습니다.
문서 저장 정규식 필터 애드온 입니다.
https://xe1.xpressengine.com/index.php?mid=download&package_id=22753653
위 애드온을 설치하고 글 작성시에 정규식으로 a 태그를 제거하고 싶은 게시판을 지정하고
애드온 설정의 정규식을 위한 입력란에
array('@<a\b[^>]*>(.+?)</a>@is', '$1')
라고 넣으면 이제부터 작성되는 게시글,댓글에
<a herf="url'>텍스트</a>
로 작성된 것은 모두 '텍스트' 만 남게 됩니다.
사용된 정규식은 기진곰님께서 작성해 주셨습니다.
문서를 복사해서 붙여넣기 하면서 이런 부분이 많이 옮겨 질텐데 이때
<a href="">블라블라 바로가기</a>
이런 부분도 모두 보이지 않던 a 태그는 사라질 것 이기 때문에 글 작성자는 직접 url을 입력해야 한다는 것을 글 작성 후 눈치 챌 수도 있습니다.
이부분은 많은 사람들이 함께 이용하는 커뮤니티에서 링크로 인한 문제를 해결하려면 감수해야할 작은 부분이며 크게 문제되지 않을 사항으로 판단 됩니다.
물론 정규식으로 a 태그를 완벽히 제거할 수 없을 수도 있지만 거의 대부분 그리고 글 작성자도 의도하지 않은 복사붙여넣기로 인해 다른 사이트의 수익 링크가 그대로 옮겨지고 하는 일은 없어질 것 입니다.