Lors du développement d'applications chinoises, la fonction de recherche de lettres de Pinyin est largement utilisée dans la gestion des contacts, la recherche de produits et la récupération de contenu. Cet article présentera comment utiliser le langage PHP et le combiner avec la bibliothèque de conversion Pinyin pour obtenir une fonction de recherche de première lettre efficace de Pinyin.
L'idée principale de la recherche de la première lettre de Pinyin est: Une fois que l'utilisateur est entré dans les mots clés chinois, le programme les convertit en première forme de lettre de Pinyin, puis les correspond aux données prétraitées pour filtrer les résultats qui remplissent les conditions.
Tout d'abord, nous préparons un tableau contenant le nom de contact et la première lettre correspondante de Pinyin comme source de données de recherche:
$contactList = [
['name' => 'Zhang San', 'pinyin' => 'zs'],
['name' => 'Li si', 'pinyin' => 'ls'],
['name' => 'Wang wu', 'pinyin' => 'ww'],
// Plus de contacts...
];
Ensuite, vous devez utiliser une bibliothèque de conversion Pinyin, telle que l'Open Source "Overtrue / Pinyin". Ce qui suit est la méthode d'appel de la conversion de pinyin:
require_once 'vendor/autoload.php'; // Présentation de la bibliothèque Pinyin
use Overtrue\Pinyin\Pinyin;
$pinyin = new Pinyin();
$keyword = isset($_POST['keyword']) ? trim($_POST['keyword']) : '';
if ($keyword) {
$keywordPinyin = implode('', $pinyin->convert($keyword, Pinyin::DEFAULT_MODE));
// Démarrer la logique de recherche
}
Après avoir converti les entrées utilisateur en pinyin, commencez à faire correspondre la première lettre du pinyin dans la liste de contacts. Tant que la chaîne Pinyin commence par le pinyin d'entrée, il peut être considéré comme un match réussi:
$results = [];
foreach ($contactList as $contact) {
if (stripos($contact['pinyin'], $keywordPinyin) === 0) {
$results[] = $contact;
}
}
Enfin, émettez le résultat correspondant à la page:
if (count($results) > 0) {
echo "<ul>";
foreach ($results as $result) {
echo "<li>{$result['name']}</li>";
}
echo "</ul>";
} else {
echo "Aucun contact n'a été trouvé qui répond aux critères";
}
Cet article présente comment utiliser PHP pour implémenter la fonction de recherche de lettres de Pinyin, y compris la mise en œuvre de la préparation des données, de la conversion de pinyin et de la logique de correspondance. Cette méthode convient à une variété de scénarios de récupération des informations chinoises, améliorant l'expérience utilisateur. Combiné avec la bibliothèque Pinyin appropriée, vous pouvez rapidement construire un système de recherche chinois complet.