1. Diễn đàn SEO - SEOBEN
    DIỄN ĐÀN SEO TỐT NHẤT VIỆT NAM: Cho phép SEOer đăng tin rao vặt giới thiệu sản phẩm
    NOTE: Nghiêm cấm post bài trùng lặp, nội dung spin vô nghĩa! BQT chấp nhận bài được SPIN kỹ lưỡng
    BQT sẽ rà soát định kỳ: Những trường hợp cố tình vi phạm sẽ bị banned và filter domain
    ( Vi phạm đừng oán BQT vô tình )
    Dismiss Notice

Hướng dẫn viết hoa chữ cái đầu tiêu đề cho Xenforo bằng php

Thảo luận trong 'Xenforo' bắt đầu bởi admin, 3/6/16.

  1. admin Administrator Staff Member

    admin

    Diễn đàn SEO - Cộng đồng SEOer Việt Nam - SEOBEN - Bạn đang xem bài viết Hướng dẫn viết hoa chữ cái đầu tiêu đề cho Xenforo bằng php trong mục Xenforo
    Hướng dẫn fix chữ in hoa cho ký tự đầu tiên tags xenforo ... by admin
    Hướng dẫn sửa lỗi tag xenforo tiếng việt không dấu ... by admin
    Tuyển Nhân Viên Lập Trình PHP Công Ty Cổ Phần Công Nghệ Xivisoft ... by thaouyen

    Hẳn là diễn đàn thì thường rất đông người tham gia tuy nhiên để hầu hết số lượng người đó viết tiêu đề đúng, chuẩn mạch lạch dễ hiểu là điều không hề dễ dàng còn phụ thuộc vào ý thức từng người.

    Lướt qua một số diễn đàn mình vẫn hay bắt gặp những tiêu đề không có chữ hoa đầu câu, rồi chỗ thì chữ thường, chỗ thì chữ hoa, ngoài ra còn có hẳn tiêu đề toàn chữ hoa rất khó đọc và hình chung tổng thể sẽ ảnh hưởng đến người đọc, đến thẩm mỹ trên diễn đàn.

    Hôm nay SEOMods sẽ hướng dẫn các bạn xử lý bằng php viết hoa chữ cái đầu, và công việc đầu tiên xử lý chuỗi tiêu đề này về hết chữ thường đã.

    Trước tiên mình sẽ làm phiên bản PHP các hàm xử dụng chung.

    Các hàm sẵn nếu các bạn không rành sử dụng sẽ bị vướng mắc khi sử dụng cho tiếng việt unicode utf8.

    PHP:
    <?
    /* Hàm đếm ký tự hỗ trợ unicode tiếng việt */
    function seomods_strlenUtf8($string)
    {
        return 
    mb_strlen($string$encoding 'UTF-8');
    }
    /* Hàm cắt chữ trả về một phần của chuỗi unicode tiếng việt */
    function seomods_subStrUtf8($string$firstpos$lastpos 1000)
    {
        return 
    mb_substr($string$firstpos$lastpos"UTF-8");
    }
    /* Hàm chuyển về chữ thường unicode tiếng việt */
    function seomods_strToUpperUtf8($Input)
    {
        return 
    mb_strtoupper($Input'UTF-8');
    }
    /* Hàm chuyển về chữ IN HOA unicode tiếng việt */
    function seomods_strToLowerUtf8($Input)
    {
        return 
    mb_strtolower($Input'UTF-8');
    }
    /* Hàm chuyển về chữ cái IN HOA đầu câu và sau là chữ thường unicode tiếng việt */
    function seomods_firstToUpper($string)
    {
        
    /* www.seomods.co.uk */
        
    $string    seomods_strToLowerUtf8($string);
        
    $strlen    seomods_strlenUtf8($string);
        
    $firstChar seomods_subStrUtf8($string01);
        
    $then      seomods_subStrUtf8($string1$strlen 1);
        return 
    seomods_strToUpperUtf8($firstChar) . $then;
    }
    Chuyển đổi (fix) chữ cái đầu tiên IN HOA trong chuỗi (tiêu đề XENFORO).

    EDIT: \library\XenForo\Model\Thread.php

    Thêm các hàm này:
    PHP:
    public function seomods_strlenUtf8($string)
    {
        return 
    mb_strlen($string$encoding 'UTF-8');
    }
    public function 
    seomods_subStrUtf8($string$firstpos$lastpos 1000)
    {
        return 
    mb_substr($string$firstpos$lastpos"UTF-8");
    }
    public function 
    seomods_strToUpperUtf8($Input)
    {
        return 
    mb_strtoupper($Input'UTF-8');
    }
    public function 
    seomods_strToLowerUtf8($Input)
    {
        return 
    mb_strtolower($Input'UTF-8');
    }
    public function 
    seomods_firstToUpper($string)
    {
        
    /* www.seomods.co.uk */
        
    $string    $this->seomods_strToLowerUtf8($string);
        
    $strlen    $this->seomods_strlenUtf8($string);
        
    $firstChar $this->seomods_subStrUtf8($string01);
        
    $then      $this->seomods_subStrUtf8($string1$strlen 1);
        return 
    $this->seomods_strToUpperUtf8($firstChar) . $then;
    }
    Trước dòng này:
    PHP:
    public function prepareThread(
    Tìm và thay thế
    PHP:
    $thread['title'] = XenForo_Helper_String::censorString($thread['title']);
    Bằng
    PHP:
    $thread['title'] = $this->seomods_firstToUpper(XenForo_Helper_String::censorString($thread['title']));///$
    Chúc thành công!
    Mọi vấn đề thắc mắc xin thảo luận tại đây!
    Bài viết thuộc SEOBEN​
     
  2. likado123 New Member

    likado123
    Đúng bài viết đang cần tìm của mình đây mà, cảm ơn các bạn rất nhiều. Cảm ơn chủ thớt
     

Chia sẻ trang này