Alors je dois transformer un texte en termes, tout en nettoyant le contenu pour n'avoir que des termes valables.
Voilà où j'en suis, c'est un peu le boxon mais à force de tester plein de solutions différentes, disons que j'en ai eu mare de faire le ménage et je m'énerve...
$terms=$this->data['Tablet']['translit'];
$terms= str_replace(array('\r\n', '\r', '\n','\n\r', ' ',' ', ' \r',' \n', ' \r\n',' \n\r' ), ' ', $terms);
$terms = trim($terms, chr(173));
$terms=trim($terms);
$terms = str_replace('/\s+/', ' ', $terms);
$terms = explode(" ", $terms);
$terms=array_map('trim', $terms);
$anti_terms = array('@tablet','1.','2.','3.','4.','5.','6.','7.','7.','9.','10.','11.','12.','13.','14.','15.','16.','17.','18.','19.','20.','Rev.',
'Obv.','@tablet','@obverse','@reverse','C1','C2','C3','C4','C5','C6','C7','C8','C9', '\r', '\n','\r\n', '\t',''. ' ', null, chr(173), 'x' );
foreach($terms as $key => $term) {
if(in_array($term, $anti_terms) || is_numeric($term)) {
unset($terms[$key]);
}
}
En gros ça fonctionne mais je me retrouve avec des termes du genre
dans le texte, c'était comme ça"mot 5."
Ça veux dire que je n'arrive pas à éliminer un retour à a la ligne... En général sur les autres lignes il y a un espace à la fin de la ligne ce qui fait que le début de l'autre ligne est automatiquement mis dans un autre élément de tableau.bla bla bla mot
5. bla bla bla
Est-ce que c'est mon str_replace du début qui ne fonctionne pas ? ou il y a une autre manière d'indiquer un retour à la ligne et je pourrais régler en ajoutant un autre caractère à filtrer ?
Merci de m'aider