Tutorial 2x Url không dấu cho xf 2.1.x fixed dấu unicode (no addon)

phihanh

Thượng Đế
Tham gia
23/11/2015
Bài viết
27
Được Like
10
URL không dấu các bạn nên sửa tự nhiên đừng dùng addon nhiều làm gì (kinh nghiệm cá nhân)
đoạn code này mình có thêm 1 số ký tự dấu của unicode khi member dùng unicode tổ hợp sẽ bị lỗi ko xóa dấu

Tìm file Router.php trong thư mục /src/XF/Mvc

Tìm đoạn code

PHP:
if ($romanize)
        {
            $string = utf8_romanize(utf8_deaccent($string));
            $originalString = $string;

            // Attempt to transliterate remaining UTF-8 characters to their ASCII equivalents
            $string = @iconv('UTF-8', 'ASCII//TRANSLIT', $string);
            if (!$string)
            {
                // iconv failed so forget about it
                $string = $originalString;
            }
        }

thêm vào bên dưới

PHP:
$aPattern = array (
            "a" => "á|à|ạ|ả|ã|ă|ắ|ằ|ặ|ẳ|ẵ|â|ấ|ầ|ậ|ẩ|ẫ|Á|À|Ạ|Ả|Ã|Ă|Ắ|Ằ|Ặ|Ẳ|Ẵ|Â|Ấ|Ầ|Ậ|Ẩ|Ẫ",
            "o" => "ó|ò|ọ|ỏ|õ|ô|ố|ồ|ộ|ổ|ỗ|ơ|ớ|ờ|ợ|ở|ỡ|Ó|Ò|Ọ|Ỏ|Õ|Ô|Ố|Ồ|Ộ|Ổ|Ỗ|Ơ|Ớ|Ờ|Ợ|Ở|Ỡ",
            "e" => "é|è|ẹ|ẻ|ẽ|ê|ế|ề|ệ|ể|ễ|É|È|Ẹ|Ẻ|Ẽ|Ê|Ế|Ề|Ệ|Ể|Ễ",
            "u" => "ú|ù|ụ|ủ|ũ|ư|ứ|ừ|ự|ử|ữ|Ú|Ù|Ụ|Ủ|Ũ|Ư|Ứ|Ừ|Ự|Ử|Ữ",
            "i" => "í|ì|ị|ỉ|ĩ|Í|Ì|Ị|Ỉ|Ĩ",
            "y" => "ý|ỳ|ỵ|ỷ|ỹ|Ý|Ỳ|Ỵ|Ỷ|Ỹ",
            "d" => "đ|Đ",
            "" => "̉|̣|̃|̀|́", // dấu unicode tổ hợp
        );
        while(list($key,$value) = each($aPattern))
        {
            $string = preg_replace('/'.$value.'/i', $key, $string);
        }

lưu ý ở trong admincp nó sẽ báo file bị thay đổi kệ nó đừng quan tâm nha
 

antinphat

Thượng Đế
Tham gia
17/05/2019
Bài viết
89
Được Like
35
Chép vô giải quyết được vấn đề url không dấu đẹp đẽ nhưng trong phần quản trị thì bị lỗi :(
upload_2019-5-18_11-24-21.png
 

dcstylexf

Thượng Đế
Tham gia
24/03/2015
Bài viết
2,004
Được Like
1,604
ĐỪNG BAO GIỜ TỰ SỬA FILE CÓ SẴN TRÊN XENFORO 2.
Nếu có khả năng, hãy tự làm addon.
Nếu không, hãy tìm addon có chức năng mà b cần.

Nếu tự sửa file có sẵn, lỗi sẽ xuất hiện ( cmt trên ).
 

phihanh2

Thượng Đế
Tham gia
02/05/2019
Bài viết
36
Được Like
5
ĐỪNG BAO GIỜ TỰ SỬA FILE CÓ SẴN TRÊN XENFORO 2.
Nếu có khả năng, hãy tự làm addon.
Nếu không, hãy tìm addon có chức năng mà b cần.

Nếu tự sửa file có sẵn, lỗi sẽ xuất hiện ( cmt trên ).

nó chỉ là thông báo kiểu check health thôi mà xóa nó đi là đc ko sao đâu

k muốn có cái thông báo đó thì vào Delete file /src/addons/XF/hashes.json xóa nó đi ^^ hoặc xóa 1 dòng bạn sửa
bác là ad enxf.net à
 

ENXF NET

Thượng Đế
Tham gia
11/12/2018
Bài viết
162
Được Like
69
trời mé em tưởng forum đó của mấy ông tây hóa ra mấy Pro vn kiếm chuối :D
ở forum bác có full add-on bên xenforo.com ko bác
:)) e chỉ 1 phần trong đó thôi bác, k full đâu bác, cũng kha khá à, mấy cái SVIP là addon mua á
 

traderfovn

Thượng Đế
Tham gia
02/02/2020
Bài viết
1
Được Like
0
không phải dưới
Mã:
if ($romanize)
        {
            $string = utf8_romanize(utf8_deaccent($string));
            $originalString = $string;

            // Attempt to transliterate remaining UTF-8 characters to their ASCII equivalents
            $string = @iconv('UTF-8', 'ASCII//TRANSLIT', $string);
            if (!$string)
            {
                // iconv failed so forget about it
                $string = $originalString;
            }
        }
mà phải là dưới cái này
Mã:
$string = strval($string);
thì up thêm đoạn code này là ok:
Nếu php5 thì up:
Mã:
//Url khong dau
$hacobi1102 = array ("a" => "á|à|ạ|ả|ã|ă|ắ|ằ|ặ|ẳ|ẵ|â|ấ|ầ|ậ|ẩ|ẫ|Á|À|Ạ|Ả|Ã|Ă|Ắ|Ằ|Ặ|Ẳ|Ẵ|Â|Ấ|Ầ|Ậ|Ẩ|Ẫ","o" => "ó|ò|ọ|ỏ|õ|ô|ố|ồ|ộ|ổ|ỗ|ơ|ớ|ờ|ợ|ở|ỡ|Ó|Ò|Ọ|Ỏ|Õ|Ô|Ố|Ồ|Ộ|Ổ|Ỗ|Ơ|Ớ|Ờ|Ợ|Ở|Ỡ","e" => "é|è|ẹ|ẻ|ẽ|ê|ế|ề|ệ|ể|ễ|É|È|Ẹ|Ẻ|Ẽ|Ê|Ế|Ề|Ệ|Ể|Ễ","u" => "ú|ù|ụ|ủ|ũ|ư|ứ|ừ|ự|ử|ữ|Ú|Ù|Ụ|Ủ|Ũ|Ư|Ứ|Ừ|Ự|Ử|Ữ","i" => "í|ì|ị|ỉ|ĩ|Í|Ì|Ị|Ỉ|Ĩ","y" => "ý|ỳ|ỵ|ỷ|ỹ|Ý|Ỳ|Ỵ|Ỷ|Ỹ","d" => "đ|Đ",);
while(list($key,$value) = each($hacobi1102))
{
$string = @ereg_replace($value, $key, $string);
}
//end khong dau
còn php7 thì up code này
Mã:
//Url khong dau
$hacobi1102 = array(
"a" => "Á|À|Ả|Ã|Ạ|Ă|Ắ|Ặ|Ằ|Ẳ|Ẵ|Â|Ấ|Ầ|Ẩ|Ẫ|Ậ|á|à|ả|ã|ạ|ă|ắ|ặ|ằ|ẳ|ẵ|â|ấ|ầ|ẩ|ẫ|ậ",
"d" => "Đ|đ",
"e" => "É|È|Ẻ|Ẽ|Ẹ|Ê|Ế|Ề|Ể|Ễ|Ệ|é|è|ẻ|ẽ|ẹ|ê|ế|ề|ể|ễ|ệ",
"i" => "Í|Ì|Ỉ|Ĩ|Ị|í|ì|ỉ|ĩ|ị",
"o" => "Ó|Ò|Ỏ|Õ|Ọ|Ô|Ố|Ồ|Ổ|Ỗ|Ộ|Ơ|Ớ|Ờ|Ở|Ỡ|Ợ|ó|ò|ỏ|õ|ọ|ô|ố|ồ|ổ|ỗ|ộ|ơ|ớ|ờ|ở|ỡ|ợ",
"u" => "Ú|Ù|Ủ|Ũ|Ụ|Ư|Ứ|Ừ|Ử|Ữ|Ự|ú|ù|ủ|ũ|ụ|ư|ứ|ừ|ử|ữ|ự",
"y" => "Ý|Ỳ|Ỷ|Ỹ|Ỵ|ý|ỳ|ỷ|ỹ|ỵ",
);
foreach($hacobi1102 as $replace => $search){
$string = preg_replace("/($search)/i", $replace, $string);
}
$string = str_replace(" ", "-", $string);
//end khong dau
https://www.facebook.com/phong.hyk
 

manhcuong195

Thượng Đế
Tham gia
18/12/2020
Bài viết
25
Được Like
15
URL không dấu các bạn nên sửa tự nhiên đừng dùng addon nhiều làm gì (kinh nghiệm cá nhân)
đoạn code này mình có thêm 1 số ký tự dấu của unicode khi member dùng unicode tổ hợp sẽ bị lỗi ko xóa dấu

Tìm file Router.php trong thư mục /src/XF/Mvc

Tìm đoạn code

PHP:
if ($romanize)
        {
            $string = utf8_romanize(utf8_deaccent($string));
            $originalString = $string;

            // Attempt to transliterate remaining UTF-8 characters to their ASCII equivalents
            $string = @iconv('UTF-8', 'ASCII//TRANSLIT', $string);
            if (!$string)
            {
                // iconv failed so forget about it
                $string = $originalString;
            }
        }

thêm vào bên dưới

PHP:
$aPattern = array (
            "a" => "á|à|ạ|ả|ã|ă|ắ|ằ|ặ|ẳ|ẵ|â|ấ|ầ|ậ|ẩ|ẫ|Á|À|Ạ|Ả|Ã|Ă|Ắ|Ằ|Ặ|Ẳ|Ẵ|Â|Ấ|Ầ|Ậ|Ẩ|Ẫ",
            "o" => "ó|ò|ọ|ỏ|õ|ô|ố|ồ|ộ|ổ|ỗ|ơ|ớ|ờ|ợ|ở|ỡ|Ó|Ò|Ọ|Ỏ|Õ|Ô|Ố|Ồ|Ộ|Ổ|Ỗ|Ơ|Ớ|Ờ|Ợ|Ở|Ỡ",
            "e" => "é|è|ẹ|ẻ|ẽ|ê|ế|ề|ệ|ể|ễ|É|È|Ẹ|Ẻ|Ẽ|Ê|Ế|Ề|Ệ|Ể|Ễ",
            "u" => "ú|ù|ụ|ủ|ũ|ư|ứ|ừ|ự|ử|ữ|Ú|Ù|Ụ|Ủ|Ũ|Ư|Ứ|Ừ|Ự|Ử|Ữ",
            "i" => "í|ì|ị|ỉ|ĩ|Í|Ì|Ị|Ỉ|Ĩ",
            "y" => "ý|ỳ|ỵ|ỷ|ỹ|Ý|Ỳ|Ỵ|Ỷ|Ỹ",
            "d" => "đ|Đ",
            "" => "̉|̣|̃|̀|́", // dấu unicode tổ hợp
        );
        while(list($key,$value) = each($aPattern))
        {
            $string = preg_replace('/'.$value.'/i', $key, $string);
        }

lưu ý ở trong admincp nó sẽ báo file bị thay đổi kệ nó đừng quan tâm nha
Cảm ơn Bạn đã hướng dẫn, hay quá
Cho mình hỏi 1 vấn đề không liên quan chủ đề lắm.
Đó là không hiểu sao forum của mình tất cả các threads đều không hiển thị tiêu đề bài viết
Nhờ Bạn hỗ trợ giúp ạ
 

Hướng dẫn sử dụng

XenForo 1 XenForo 2
Translate by PVS

Hosting Giá rẻ

hosting free
hosting free
Top Bottom