冰大,英文标题 生成URL链接路径 英文单词中的空格改成-,并把符号过滤掉 怎么写?

chtws0012023-02-24  553

冰大,英文标题 生成URL链接路径 英文单词中的空格改成-,并把符号过滤掉 怎么写?

比如下面标题

brendan,fraser diz que filme gravado, no brasil o--levou ao oscar

改成URL链接

brendan-fraser-diz-que-filme-gravado-no-brasil-o-levou-ao-oscar-ID.html

 

转载请注明原文地址:https://www.wellcms.net/read-615.html
00
最新回复(3)
  • TID-brendan-fraser-diz-que-filme-gravado-no-brasil-o-levou-ao-oscar.html

     

    照着这个修改吧,是比较简单的方法。

    https://www.wellcms.net/read-563.html

    把a换成-,然后用 $arr = explode('-', $tid); 拆分,再找$arr[0]就是获取的tid

     

    把tid放在前面匹配,后面的忽略就行了。

     

    过滤符号和空格为-

    $url_subject = str_replace(array(',', ',', '.', '。', '!', '!'), '', $thread['subject']); // 过滤的符号都写 array(',', ',', '.', '。', '!', '!') 里面
    $url_subject = preg_replace( '#(\s(?=\S))|([\W])#', '-', $url_subject);
    $url_subject = trim($url_subject,'-');

     

    按照变种链接写,基本可以使用,不想出现tid,那需要增加MD5字段解决,改动有点多。

    回复41

    • chtws001作者
      2023-02-24 18:30:57
      @燃烧的冰好的,应该写进这个文件里吧 model/misc.func.php

    • chtws001作者
      2023-02-24 18:39:54
      @燃烧的冰还是这个? xiunophp/xiunophp.min.php

    • 燃烧的冰
      2023-02-24 19:46:07
      @chtws001你在看下那个链接里的内容吧,不能照搬,改了逻辑

    • chtws001作者
      2023-02-25 09:15:16
      @燃烧的冰不能直接用横杠,否则全部变成为斜杠了 目前只能这样了

  • if ($conf['url_rewrite_on'] > 1) {
           $url_subject = str_replace(array(',',',','.','!','!','|','?','?','"',';',':','_',"=","{","}","[","]","(",")","^","<",">",'--'), '', $thread['subject']);
           $url_subject = preg_replace('#(\s(?=\S))/([\W])#', '', $url_subject);
           $url_subject = preg_replace('#(\s(?=\S))  ([\W])#', ' ', $url_subject);
           $url_subject = trim($url_subject,'-');

        !empty($forum['well_alias']) and $thread['url'] = url(urlencode($forum['well_alias'])."-$thread[tid]&#45;$url_subject", '', FALSE); // &#45;是横杠Unicode编码, 不能直接用横杠, 否则全部变成为斜杠了
        // hook model__thread_format_alias_after.php
    } else { 
        $thread['url'] = url("read-$thread[tid]-$url_subject", '', FALSE);
    }
    回复10

    • 燃烧的冰
      2023-02-25 11:20:57
      @chtws001国外直接用伪静态1就可以,伪静态1用中横杠没事。伪静态3、4用下滑杠

  • 也就做谷歌有这操作。。。。。
    回复00