php关键字加链接,PHP关键字

发布时间:2022-11-28

本文目录一览:

  1. [PHP 将关键字 转化为链接](#PHP 将关键字 转化为链接)
  2. PHP自动生成关键字内链?
  3. phpcms内容页关联关键字链接问题
  4. dedecms织梦网站内容页怎么自动添加关键词链接
  5. wordpress的关键词怎么自动添加链接
  6. 如何使用php给文本中的关键词加上链接

PHP 将关键字 转化为链接

<?php
//php 版本5.0以上
$file="file.txt";//文件路径
$arr=file($file);//将文件内容读取到数组
//在数组中将文件内容格式化
foreach ($arr as $k=>$txt)
{
    $arr[$k]='<a href="'.$k.'art='.str_replace(" ","-",$txt).'">'.$txt.'</a>';
}
//将格式化后的内容写入文件
if(file_put_contents("D.txt",$arr)){echo "OK";}
?>

PHP自动生成关键字内链?

首先建立对应库,表:字段1-id,字段2-关键字,字段3-目标链接。 程序实现:通过批量替换的方式,把文章中和库里对应的关键字替换成带有指定链接锚文本。

phpcms内容页关联关键字链接问题

第一步:在phpcms后台管理中按照步骤 系统设置 → 相关设置 → 关联链接管理 → 添加关键词。 第二步:找到phpcms2008安装目录,查找文件 global.func.php,我们以phpcms2008关键词关联链接的案例为例。 要达到的效果如下:

dedecms织梦网站内容页怎么自动添加关键词链接

第一步:进入网站后台进行设置

  1. 首先登录网站管理后台,选择 系统 → 系统基本参数 → 核心设置,找到“关键词替换(是/否)”一栏,选择“是”。
  2. 然后在 系统 → 系统基本参数 → 其他选项 中,找到 “文档内容同一关键词替换次数(0为全部替换)”:后面写个 1 或者 2,这个随便自己写。
  3. 在后台的 采集 → 文档关键词维护 一栏,对关键词加上需要的链接! 这时有个小问题需要解决下:经过以上的几个步骤,只能实现在“关键词”一栏中填写的关键词才会有链接,而内容中出现的关键词并没有链接。所以我们需要通过下一步来实现内容页出现链接。 第二步:打开 /include/arc.archives.class.php 进行代码替换 找到下面代码:
foreach($kws as $k) {
    $k = trim($k);
    if($k!="") {
        if($i > $maxkey) {
            break;
        }
        $myrow = $this->dsql->GetOne("select * from `dede_keywords` where keyword='$k' And rpurl");
        if(is_array($myrow)) {
            $karr[] = $k;
            $GLOBALS['replaced'][$k] = 0;
            $kaarr[] = "<a href='{$myrow['rpurl']}'><u>$k</u></a>";
        }
        $i++;
    }
}

替换为:

global $dsql;
$query="SELECT * FROM `dede_keywords` WHERE rpurl ORDER BY rank DESC";
$dsql->SetQuery($query);
$dsql->Execute();
while($row = $dsql->GetArray()) {
    $key = trim($row['keyword']);
    $key_url=trim($row['rpurl']);
    $karr[] = $key;
    $kaarr[] = "<a href='$key_url' target='_blank'><u>$key</u></a>";
}

这样我们就设置好了,但是我们一般尽量设置核心关键词,不要次数过多。

wordpress的关键词怎么自动添加链接

  1. 最简单的方法:修改固定链接 WordPress 自带的固定链接可以改变链接样式,但是如果格式没写好,可能给你的页面访问带来困难,链接中特殊符号、空格,还是包含中文。固定链接格式:/%postname%.html,这个样式就为中文,但也是可行的。我个人的格式是 /archives/%post_id%.html
  2. 插件也可以实现
    • 单独为页面添加 .html 后缀: 安装 [.html on PAGES] 插件实现,启用插件后无需任何设置。
    • 分类及页面同时添加 .html 后缀: 安装 [.html in category and page url] 插件,启用插件后需要到插件设置页面保存一下设置。

    注意:启用插件后还需要到后台“固定链接设置”中,重新保存一下设置,否则会跳到404页面。如果不成功,可以先删除空间根目录的 .htaccess 文件,之后保存会自动生成新的。 另外,安装插件后可能会造成日志分页翻页错误。

  3. 既然可以插件当然代码可以 将下面代码添加到主题的 functions.php 中即可:
    // 页面链接添加html后缀
    add_action('init', 'html_page_permalink', -1);
    function html_page_permalink() {
        global $wp_rewrite;
        if ( !strpos($wp_rewrite->get_page_permastruct(), '.html')){
            $wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html';
        }
    }
    
    添加后,需要到固定链接设置页面,重新保存一下固定链接设置,否则不会生效。 上述代码适合伪静态的固定链接形式使用,比如:
    • /%postname%.html
    • /%post_id%.html 另外,如果同时使用了“给WordPress分类目录和页面添加斜杠”一文中的代码,还需要将该文中的代码修改为:
    // 添加斜杠
    function nice_trailingslashit($string, $type_of_url) {
        if ( $type_of_url != 'single' && $type_of_url != 'page' )
            $string = trailingslashit($string);
        return $string;
    }
    add_filter('user_trailingslashit', 'nice_trailingslashit', 10, 2);
    
    排除页面文件,否则页面链接 .html 后面也会自动加上斜杠。

如何使用php给文本中的关键词加上链接

<?php
/**
 * 按长度排序(降序)
 */
function _sortDesc($a, $b) {
    return (strlen($a[0]) > strlen($b[0])) ? 1 : -1;
}
$linkDefs = array(
    '茶叶,111.htm',
    '中国茶叶大观,222.htm',
);
$linkMap = array();
foreach($linkDefs as $row) {
    $linkMap[] = explode(',', $row);
}
$str = '
这儿是茶叶的链接。<br />
这儿是中国茶叶大观的链接。<br />
这儿是<a href="111.html">茶叶</a>的现有链接。<br />
这儿是<a href="222.html">中国茶叶大观</a>的现有链接。<br />
';
// 把原有的链接替换成文字
foreach($linkMap as $row) {
    $str = preg_replace('/(<a.*?\s*)('.$row[0].')(\s*\/a)/sui', '${2}', $str);
}
// 关键字从长至短排序
usort($linkMap, '_sortDesc');
$tmpKwds = array(); // 存放暂时被替换的子关键字
foreach($linkMap as $i=>$row) {
    list($kwd, $url) = $row;
    for($j=$i+1; $j<count($linkMap); $j++) {
        $subKwd = $linkMap[$j][0];
        // 如果包含其他关键字,暂时替换成其他字符串,如“茶叶”变成 {fcc734148321f5ad627b27585aa23958}
        if(strpos($kwd, $subKwd) !== false) {
            $tmpKwd = '{'.md5($subKwd).'}';
            $kwd = str_replace($subKwd, $tmpKwd, $kwd);
            $tmpKwds[$tmpKwd] = $subKwd;
        }
    }
    // 把文字替换成链接
    $str = preg_replace('/('.$row[0].')/sui', '<a href="'.$row[1].'">'.$kwd.'</a>', $str, 5); // 最多替换5次
}
// 把代替子关键字的字符串替换回来
foreach($tmpKwds as $tmp=>$kwd) {
    $str = str_replace($tmp, $kwd, $str);
}
echo $str;
?>

以上程序输出:

这儿是<a href="111.htm">茶叶</a>的链接。<br />
这儿是<a href="222.htm">中国茶叶大观</a>的链接。<br />
这儿是<a href="111.htm">茶叶</a>的现有链接。<br />
这儿是<a href="222.htm">中国茶叶大观</a>的现有链接。<br />