Ci sono diversi modi per raggiungere questo obiettivo.
1- Puoi selezionare le tue righe dal database, scorrerle e salvare il titolo della "parola" in un array e, in ogni iterazione del ciclo, puoi verificare se un valore simile è in_array()
. Se il valore esiste, puoi salvare l'id in un altro array e quindi utilizzare questi ID per eliminarlo dal database.
2- Un altro modo per estrarre gli ID è utilizzare una query simile alla seguente:
select count(*), id from table group by title
Puoi quindi scorrere i risultati ed eliminare la riga (usando gli ID) in cui il conteggio è maggiore di 1.
Il concetto di base in entrambi (e altri metodi) è che devi solo abbinare le stringhe. La fonetica sulle lettere cambia la stringa effettiva, quindi "سَلام" non è uguale a "سلام".
In una nota a margine, c'è un'ottima libreria PHP araba che puoi utilizzare per varie manipolazioni di stringhe relative all'arabo:PHP e lingua araba .
In questo modo rimuoverai solo un duplicato.
Esistono molti altri modi per farlo e tutto dipende dalle dimensioni del set di dati che hai e se eliminare questi duplicati è una cosa una tantum o una cosa frequente perché dovrai tenere a mente le prestazioni.