특정 단어를 링크로 치환
1. 사용중인 게시판 스킨을 엽니다. (게시판 설정에서 보여줍니다 보통)
2. _read.html 을 엽니다.
3. 아래 내용을 {$oDocument->getContent(false);} 가 있던 부분에 적당히 가공해 넣습니다.
{@
$content_ = $oDocument->getContent(false);
$pregs = array(
array("/위젯/", "https://xetown.com/rxe_point/category/17121"),
array("/스킨/", "https://xetown.com/rxe_point/category/17124"),
array("/애드온/", "https://xetown.com/rxe_point/category/17120"),
array("/XE 코어|XE|XpressEngine/", "https://xe1.xpressengine.com"),
);
}
<block loop="$pregs=>$key,$val">
{@ $content_ = preg_replace($val[0], "<a href='".$val[1]."' style='color:#07F; background:#EEE; padding:0px 5px; display:inline-block; text-decoration:none;'>$0</a>", $content_); }
</block>
{$content_}
참 쉽죠? (밥 로스 풍)
어렵다구요?
천천히, 찬찬히 살펴보시와요.
댓글 26
생각을 올리기만 하면 뚝딱 코드가 나오니 참 신기하고 또 부럽네요 ㅎㅎ
저도 여러 고수분들이 올려주신 팁으로 조금이나마 더 나은 사이트 만들어가고 있습니다.
이자리 빌어 다시 한번 감사를....
저도 여기계신 고수분들 덕분에 여러가지를 배우는데 제가 고수라뇨 ㄷㄷ 저는 그저 코딩 기계일 뿐 ㅠㅠ
아이디어가 샘솟으면 좋겠다고 생각하고 있네요
두가지 다 있어야 더 높은 경지로...
팁2: 무조건 단어를 치환하지 않고 위키 문법처럼 []로 감싼 것만 링크 처리하려면
/\[(단어)\]/ 로 하면 됩니다.
치환자의 $0을 $1로 바꿔주면 단어 라는 단어만 나오게 되구요
응용 시 [단어](링크) 처럼 마크다운 문법을 구현할 수도 있겠죠~
기본 사이트를 지원하는 용어집(?), 설명만 정도의 기능으로 이용하고 있습니다.
하지만 Xe 사이트와 구조적인 연결이 어려워 매뉴얼로 필요한 단어만 링크를 걸고 있는데 이것도 참 번거롭더군요. ㅜ.ㅠ
XE 자체가 위키 문법 지원해 주면 좋은데 그건 안될 것 같고..
올려주신 팁을 이용하기에는 위키 단어량이 너무 많아 불가능한 것이긴 합니다.
하지만 사이트 운영에 있어 필요한 소량의 링크는 저런 식으로 충분히 유용하게 활용 가능하겠네요.
그런거라면 "단어" 자체를 링크로 바꾸면 되지 않을까요 ~
\[(.*?)\] -> 위키사이트주소/$1 하면 될거에요
단 요대로 하면 링크가 제대로 동작하지 않을 수 있으니 urlencode 를 잘 살펴보시면 될거에요
잠자려고 누워 스마트폰으로 보고 있는지라.. 내일 출근하면 한전 시도해 봐야겠습니다 .. 벌써 흥분됩니다. @.@
소스 뜯어보면 뭔가 알 것 같기도 하다가도 그냥 멘붕 상태로 떨어진다는 ㅠ.ㅜ
특히 정규식은 도대체 무슨 의미인지 너무너무 헷갈린다는
css도 잘 모르는 입장이라서 안그래도 str_replace니 뭐니 잔뜩 찾아보고 있긴 한데 ㅠㅠㅠㅠ
이리 저리 해봐도 적용이 힘드네요 오류만 자꾸 나고... 위 소스를 응용하면 가능은 한거죠? ㅠㅠㅠ
가능 여부만 알려주시면 한 번 해볼게요
충분히 가능합니다. 잘 보시면 단어를 HTML태그로 치환하고 있죠. HTML태그가 된다는 것은...
http://php.net/manual/kr/function.preg-replace.php
GL!
추천이랑 와드 박고 갑니다!
그런데 혹시 / 요기 / 안쪽에 /가 추가로 들어갈 수 있는 방법이 있을까요?
'/이미지' 라고 명령어를 입력시 그림이 나오게 하고 싶은데 자꾸 에러가 나네요ㅠㅠ
상하단 페이지네이션의 숫자가 두개 세개가 됩니다ㅠㅠㅠ
1 1 2 2 3 3 이런식으로요ㅠㅠ