Địa chỉ liên kết xinh tươi

Ngày trước mình có làm cái Địa chỉ liên kết thật xinh xắn. Hạn chế của nó là chỉ làm đẹp cho những bài mới còn những bài cũ thì nó chả quan tâm. Liên quan đến Facebook, hôm nay mình mới thấy cần thiết phải phẫu thuật toàn bộ các địa chỉ.

Mọi thứ cũng đơn giản như đan rổ.

<?php

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

	$to = array(
		'a', 'd', 'e', 'i', 'o', 'u', 'y'
	);
	return preg_replace($from, $to, $text);
}

$CON = mysql_connect('localhost', 'db_username', 'db_password');
mysql_select_db('db_name',$CON) or die("Cant select MySQL Database");

$query = "SELECT ID, post_name FROM `wp_posts` ORDER BY `id`";
$query = mysql_query($query, $CON);

while($R = mysql_fetch_object($query)) {
	$postname = remove_vietnamese_accents(urldecode($R->post_name));
//	echo "$postname\n";
	$value1 = "UPDATE `wp_posts` SET `post_name`='$postname' WHERE ID='$R->ID'";
	mysql_query($value1,$CON);
}

mysql_close($CON);
?>

Điền thông tin phù hợp như db_name, db_username, db_password hay prefix cho bảng (mặc định là wp_) rồi lưu nó thành “xinhtuoi.php” và chạy qua trình duyệt hoặc dòng lệnh.

Để tránh dư luận đàm tiếu hoặc thanh tra y tế kiểm tra đột xuất, cuộc phẫu thuật sẽ diễn ra im lặng từ đầu đến cuối.

Cái giá phải trả cho việc phẫu thuật này thì ai cũng biết: trở thành kẻ lạ mặt trong hồ sơ của các máy tìm kiếm. Tất nhiên, nếu có sai sót nào đó thì đó là lỗi của người sử dụng, vì thế hãy sao lưu cơ sở dữ liệu, làm thử trước khi làm thật.