Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara mengendalikan input berbilang bahasa dalam borang PHP

Cara mengendalikan input berbilang bahasa dalam borang PHP

WBOY
WBOYasal
2023-08-10 21:00:341288semak imbas

Cara mengendalikan input berbilang bahasa dalam borang PHP

Cara mengendalikan input berbilang bahasa dalam bentuk PHP

Dengan perkembangan globalisasi, sokongan berbilang bahasa untuk tapak web telah menjadi ciri yang mesti ada. Dalam pembangunan PHP, cara mengendalikan input berbilang bahasa supaya pengguna boleh memasukkan data dalam bahasa yang berbeza dalam bentuk dan menyimpan serta memaparkan data dengan betul merupakan isu penting yang perlu diselesaikan oleh pembangun.

Artikel ini akan memperkenalkan cara menggunakan PHP untuk memproses input berbilang bahasa dan memberikan contoh kod yang sepadan.

1. Tetapkan tetapan bahasa laman web
Dalam kod PHP, kita boleh menggunakan fungsi setlocale untuk menetapkan tetapan bahasa laman web. Sintaks fungsi ini adalah seperti berikut:

setlocale(int $category, string $locale)

di mana $category menentukan kategori bahasa yang akan ditetapkan termasuk LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC dan LC_TIME, dsb. $locale menentukan tetapan bahasa tertentu, seperti "en_US.UTF-8" yang menunjukkan penggunaan Bahasa Inggeris Amerika.

2 Cipta borang input berbilang bahasa
Dalam kod HTML, kita boleh menggunakan elemen pilih untuk mencipta borang input berbilang bahasa. Contoh kod adalah seperti berikut:

<select name="language">
  <option value="en">English</option>
  <option value="zh-CN">简体中文</option>
  <option value="zh-TW">繁体中文</option>
</select>

Pengguna boleh memasukkan data dalam bahasa yang berbeza dengan memilih pilihan yang berbeza.

3 Proses input data bahasa oleh pengguna
Di bahagian pelayan, kita boleh mendapatkan input data bahasa oleh pengguna melalui pembolehubah $_POST atau $_GET. Contoh kod adalah seperti berikut:

$language = $_POST['language'];

Mengikut bahasa yang dipilih oleh pengguna, kami boleh melakukan pemprosesan yang sepadan. Contohnya, jika pengguna memilih bahasa Inggeris, kami boleh menetapkan bahasa kepada "en_US"; jika pengguna memilih Bahasa Cina Mudah, kami boleh menetapkan bahasa itu kepada "zh_CN".

4 Simpan dan paparkan data berbilang bahasa
Dalam pangkalan data, kami boleh menggunakan pengekodan UTF-8 untuk menyimpan data berbilang bahasa. Dalam pangkalan data MySQL, kami boleh menggunakan set aksara utf8mb4 dan pengumpulan utf8mb4_unicode_ci untuk menyokong penyimpanan data berbilang bahasa. Contoh pernyataan SQL untuk mencipta jadual adalah seperti berikut:

CREATE TABLE `messages` (
  `id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
  `content` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Dalam kod PHP, kita boleh menggunakan sambungan mysqli atau sambungan PDO untuk menyambung ke pangkalan data dan melakukan operasi untuk menyimpan data berbilang bahasa. Contoh kod adalah seperti berikut:

$mysqli = new mysqli("localhost", "username", "password", "database");

$content = $_POST['content'];
$language = $_POST['language'];

$mysqli->set_charset("utf8mb4");
$content = $mysqli->real_escape_string($content);

$sql = "INSERT INTO messages (content, language) VALUES ('{$content}', '{$language}')";
$mysqli->query($sql);

Apabila memaparkan data berbilang bahasa, kami boleh memaparkan data yang disimpan dalam pangkalan data dengan betul dengan menetapkan tetapan bahasa yang sesuai. Contoh kod adalah seperti berikut:

setlocale(LC_ALL, "en_US.UTF-8");

$sql = "SELECT content, language FROM messages";
$result = $mysqli->query($sql);

while ($row = $result->fetch_assoc()) {
  if ($row['language'] == 'en') {
    setlocale(LC_ALL, "en_US.UTF-8");
  } elseif ($row['language'] == 'zh-CN') {
    setlocale(LC_ALL, "zh_CN.UTF-8");
  } elseif ($row['language'] == 'zh-TW') {
    setlocale(LC_ALL, "zh_TW.UTF-8");
  }

  echo strftime("%Y-%m-%d %H:%M:%S", strtotime($row['content']));
}

Melalui langkah di atas, kita boleh merealisasikan pemprosesan input berbilang bahasa dalam bentuk PHP. Pembangun boleh membuat pengubahsuaian dan pelarasan yang sepadan dalam projek tertentu berdasarkan keperluan sebenar. Harap artikel ini dapat membantu anda!

Atas ialah kandungan terperinci Cara mengendalikan input berbilang bahasa dalam borang PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn