Top những đoạn code hữu ích cho website/ ứng dụng

Top những đoạn code hữu ích cho website/ ứng dụng

Nếu là một webmaster hay là một coder thì chắc hẳn việc code một đoạn nào đó là công việc khiến bạn thú vị hay thậm chi khiến bạn chán ngấy khi cứ phải viết đi viết lại, thay vì như vậy thì Vinadomain sẽ lưu giữ lại và bạn chỉ cần copy and paste là xong.

1/ Đoạn code kiểm tra 1 chuỗi con trong PHP

echo strpos(“I love php, I love php too!”,”php”);
?>

2/ Đoạn code hay trong JS

2.1 Đoạn code kích hoạt sự kiện khi nhấn nút Enter trong Jquery

$(“.input1”).on(‘keyup’, function (e) {

if (e.keyCode === 13) {

// Do something

}

});

2.2 Tạo nút back to top trong website

$(function() {

$(“#top”).on(‘click’, function() {

var position = $(“#image”).offset().top;

$(“HTML, BODY”).animate({

scrollTop: position

}, 1000);

});

});

3/ Những đoạn code hay cho WordPress

3.1. Tắt script biểu tượng cảm xúc.

// Disable the emoji’s

remove_action(‘wp_head’, ‘print_emoji_detection_script’, 7);

remove_action(‘wp_print_styles’, ‘print_emoji_styles’);

3.2. Dọn dẹp phần header gọn gàn.

// Remove auto generated feed links

function dhs_remove_feeds() {

remove_action( ‘wp_head’, ‘feed_links_extra’, 3 );

remove_action( ‘wp_head’, ‘feed_links’, 2 );

remove_action( ‘wp_head’, ‘rsd_link’);

remove_action( ‘wp_head’, ‘wlwmanifest_link’);

remove_action( ‘wp_head’, ‘wp_generator’);

remove_action( ‘wp_head’, ‘start_post_rel_link’);

remove_action( ‘wp_head’, ‘index_rel_link’);

remove_action( ‘wp_head’, ‘adjacent_posts_rel_link’);

remove_action( ‘wp_head’, ‘wp_shortlink_wp_head’);

}

add_action( ‘after_setup_theme’, ‘dhs_remove_feeds’ );

3.3. Ẩn bớt trường điền URL cho comments.

// Remove website field in comments

add_action(‘comment_form_default_fields’, ‘remove_website_comment_field’);

function remove_website_comment_field($fields)

{

if (isset($fields[‘url’])) {

unset($fields[‘url’]);

}

return $fields;

}

3.4. Quy định số ký tự tối thiểu cho comments. Nếu như một bình luận mà chỉ có 1 hoặc vài từ thì chẳng có ý nghĩa gì, đoạn code dưới đây sẽ giúp bạn quy định ký tự tối thiểu cho 1 bình luận, bạn nhìn thấy con số 70 nghĩa là 70 ký tự, bạn có thể thay đổi nhiều ký tự hơn hoặc ít hơn.

// Requires a minimum length of a comment

add_filter(‘preprocess_comment’, ‘minimal_comment_length’);

function minimal_comment_length($commentdata)

{

$minimalCommentLength = 70;

if (strlen(trim($commentdata[‘comment_content’])) < $minimalCommentLength) {

wp_die(‘All comments must be at least ‘ . $minimalCommentLength . ‘ characters long.’);

}

return $commentdata;

}

3.5. Không tạo link đường dẫn trong nội dung bình luận. Nếu một ai đó cố tình chèn link vào trong nội dung bình luận thì cũng vô ích, vì nó cũng sẽ hiển thị dạng text thông thường mà thôi, nó không hề có liên kết. Điều này sẽ giúp hạn chế spam link.

// Do not create link path in the comments

remove_filter(‘comment_text’, ‘make_clickable’, 9);

3.6. Tự động thêm thuộc tính nofollow cho liên kết ngoài. Nếu blog của bạn có nhiều thành viên viết bài, họ có thể chèn liên kết trỏ ra ngoài. Code này sẽ giúp tự động thêm rel=”nofollow” cho mỗi liên kết được chèn vào nội dung.

// Add nofollow

function my_nofollow($content)

{

return stripslashes(wp_rel_nofollow($content));

}

add_filter(‘the_content’, ‘my_nofollow’);

3.7. Khi bạn tìm kiếm một bài viết mà trong blog của chúng ta chỉ có 1 bài duy nhất thì nó sẽ ra trực tiếp tới trang xem chi tiết luôn mà không cần thông qua trang kết quả tìm kiếm.

// Redirect to post if there is only one search result

add_action(‘template_redirect’, ‘single_search_redirect’);

function single_search_redirect()

{

if (is_search()) {

global $wp_query;

if ($wp_query->post_count == 1) {

wp_redirect(get_permalink($wp_query->posts[‘0’]->ID));

}

}

}

3.8. Tắt chức năng tự động lưu bài nháp.

// Disable post autosave

add_action(‘wp_print_scripts’, ‘disable_autosave’);

function disable_autosave()

{

wp_deregister_script(‘autosave’);

}

3.9. Xóa đi phiên bản nằm phía sau các script, đường link script của chúng ta nhìn sẽ gọn hơn.

// Remove wp version strings

function remove_wp_version_strings($src)

{

global $wp_version;

parse_str(parse_url($src, PHP_URL_QUERY), $query);

if (!empty($query[‘ver’]) && $query[‘ver’] === $wp_version) {

$src = remove_query_arg(‘ver’, $src);

}

return $src;

}

add_filter(‘script_loader_src’, ‘remove_wp_version_strings’); add_filter(‘style_loader_src’, ‘remove_wp_version_strings’);

3.10. Thêm thuộc tính tải không đồng bộ, điều này sẽ giúp website của chúng ta tải nhanh hơn, website sẽ load nội dung và css trước, sau đó mới load script. Dưới đây là hai đoạn code giúp tải không đồng bộ, nhưng cách viết khác nhau, bạn chỉ sử dụng một trong hai đoạn thôi nhé, mỗi dấu // là một đoạn.

// Asynchronous load JS

function defer_parsing_of_js ( $url ) {

if ( FALSE === strpos( $url, ‘.js’ ) ) return $url;

return “$url’ async defer=’defer”;

}

add_filter( ‘clean_url’, ‘defer_parsing_of_js’, 11, 1 );

// Asynchronous load JS

function async_js($tag){

$scripts_to_async = array(‘jquery.js’, ‘jquery-migrate.min.js’); foreach($scripts_to_async as $async_script){

if(true == strpos($tag, $async_script ) )

return str_replace(‘ src’, ‘ async=”async” src’, $tag);

}

return $tag;

}

add_filter( ‘script_loader_tag’, ‘async_js’, 10);

4/ Đoạn code hay dành cho lập trình Android

Chia sẻ code hay để dễ dàng tìm kiếm khi cần sử dụng.

4.1.Replace fragment kèm theo Animation

private void replaceFragment(Fragment fragment) {
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_right,R.anim.slide_out_left)
.replace(R.id.content_main, fragment)
.addToBackStack(null)
.commit();
}

4.2. Chuyển đơn vị dp thành pixel

public static int convertDpToPixel(int dp) {
Resources r = Resources.getSystem();
return Math.round(dp * (r.getDisplayMetrics().densityDpi / 160f));
}

4.3. Lib Thư viện Utils

https://github.com/changer/android-utils
https://github.com/Trinea/android-common/tree/master/src/cn/trinea/android/common/util

4.4. Chạy nhạc MP3

– From local:
MediaPlayer song = MediaPlayer.create(MainActivity.this, R.raw.nuocmat);
song.start();

Stop:
onPause();
song.pause();

– From Internet:
public void PlayNhacMp3(String url){
//url = “http://khoapham.vn/download/vietnamoi.mp3”;
MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
mediaPlayer.setDataSource(url);
mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.start();
}
});

} catch (IOException e) {
e.printStackTrace();
}

}

4.5. Đọc ghi file .txt

– Save file txt
FileOutputStream fos = openFileOutput(“khoapham.txt”, Context.MODE_PRIVATE);
fos.write(noidung.getBytes());
fos.close()

– Read file txt
FileInputStream fis = openFileInput(“khoapham.txt”);
BufferedReader br = new BufferedReader(new InputStreamReader(new DataInputStream(fis)));
String line = “”;
while( (line = br.readLine()) != null ){
txtvNoiDung.append(line);
txtvNoiDung.append(“n”);
}

4.6. Lấy kích thước màn hình thiết bị

Display display = ((WindowManager) getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
int ori = display.getOrientation();

4.7. Chuyển file thành dạng byte[]

public byte[] FileLocal_To_Byte(String path){
File file = new File(path);
int size = (int) file.length();
byte[] bytes = new byte[size];
try {
BufferedInputStream buf = new BufferedInputStream(new FileInputStream(file));
buf.read(bytes, 0, bytes.length);
buf.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return bytes;
}

4.8. Định dạng tiền tệ việt nam

    //Convert long to money type
public static String formatNumber(long number) {
if (number < 1000) {
return String.valueOf(number);
}
try {
NumberFormat formatter = new DecimalFormat(“###,###”);
String resp = formatter.format(number);
resp = resp.replaceAll(“,”, “.”);
return resp;
} catch (Exception e) {
return “”;
}
}

4.9. Kiểm tra EditText rỗng

 public static  boolean isEmpty(EditText etText) {
if (etText.getText().toString().trim().length() > 0) {
return true;
} else {
etText.requestFocus();
etText.setError(“Vui lòng điền thông tin!”);
return false;
}
}

4.10. Lấy chuỗi String Resource

    public static String getStringFromResources(Context context, int id) {
return context.getResources().getString(id);
}

4.11. Chuyển dữ liệu kiểu LONG thành DateTime

    public static String convertLongToDay(long timeStamp) {
DateFormat dateFormat = new SimpleDateFormat(“dd/MM/yyyy HH:mm:ss”);
Date date = new Date(timeStamp);
return  dateFormat.format(date);
}

4.12. Kiểm tra định dạng Email
public static boolean isEmailValid(String email) {
boolean isValid = false;

String expression = “[a-zA-Z0-9._-]+@[a-z]+(\.+[a-z]+)+”;
CharSequence inputStr = email;

Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(inputStr);
if (matcher.matches()) {
isValid = true;
}
return isValid;
}

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *

twelve + 16 =