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

meta 도 add 하자 !

· 10년 전 · 6575 · 5
common.lib.php 를 수정해서
meta 태그도 add 될 수 있도록 만들어 봣습니다
face 북 공유 기능 meta 태그가 있어서... 게시판 아무리 검색해도 안나와서 함수 만들었습니다.

add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
add_meta('<meta 내용>', 0);

스타일 시트와 마찬가지로 meta 함수도 저렇게 하면 메타태그 자리에 들어 갑니다.

common.lib.php 만 고치면 됩니다 알맞은 자리에 넣어 주세요

1번 이건 아무대나
function add_meta($meta, $order=0)
{
global $html_process;

if(trim($meta))
$html_process->merge_meta($meta, $order);
}

2. class html_process 찾기 하세요 그안에

protected $meta = array();

function merge_meta($meta, $order)
{
$metas = $this->meta;
$is_merge = true;

foreach($links as $metatag) {
if($metatag[1] == $meta) {
$is_merge = false;
break;
}
}

if($is_merge)
$this->meta[] = array($order, $meta);
}

3. /*
</title>
<link rel="stylesheet" href="default.css">
밑으로 스킨의 스타일시트가 위치하도록 하게 한다.
*/
function run() 안에 저렇게 적힌 곳이 있습니다 그 위에 밑에 코드를 추가하시면 됩니다

$meta = '';
$metas = $this->meta;

if(!empty($metas)) {
foreach ($metas as $key => $row) {
$order[$key] = $row[0];
$index[$key] = $key;
$style[$key] = $row[1];
}

array_multisort($order, SORT_ASC, $index, SORT_ASC, $metas);

foreach($metas as $metatag) {
if(!trim($metatag[1]))
continue;

$meta .= PHP_EOL.$metatag[1];
}
}
$buffer = preg_replace('#(<head>[^<]*<meta[^>]+>)#', "$1$meta", $buffer);

끝입니다. ~
아무대서나 add_meta를 사용하시면 되겠습니다

혹시 못하시거나 보기힘든 분을 위해 파일을 첨부합니다(주석표시)

댓글 작성

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

로그인하기

댓글 5개

10년 전
꼭 필요한 팁이 나온 거 같네요. 시간날 때 바로 테스트해봐야겠습니다.
아주 좋은 기능인것 같습니다....
9년 전
좋은 팁 감사합니다.
적용하고 나니 아래와 같은 에러가 나오는데요.
이부분은 어딜 수정해야 할까요?
Warning: Invalid argument supplied for foreach() in /home/xxx/www/lib/common.lib.php on line 2563
9년 전
foreach($links as $metatag) {
이부분의 $links 를 $metas로 변경하니 에러가 없어집니다.
이글 보시는 분들 참조하세요
좋은 정보 감사합니다.

게시글 목록

번호 제목
404
399
391
386
384
383
382
378
377
373
372
362
361
353
345
334
329
307
304
299
295
292
288
272
270
267
263
261
254
252