| Line 189... |
Line 189... |
| 189 |
$this->textes->setId('bdtfx.nn:'.$this->nomCourant->getNnr());
|
189 |
$this->textes->setId('bdtfx.nn:'.$this->nomCourant->getNnr());
|
| 190 |
$texte = $this->textes->getTexte();
|
190 |
$texte = $this->textes->getTexte();
|
| 191 |
$texte = array_pop($texte['resultats']);
|
191 |
$texte = array_pop($texte['resultats']);
|
| 192 |
if ($texte) {
|
192 |
if ($texte) {
|
| 193 |
$coste['titre'] = $texte['titre'];
|
193 |
$coste['titre'] = $texte['titre'];
|
| 194 |
$coste['description'] = $this->mettreEnFormeCoste($texte['texte']);
|
194 |
$coste['description'] = self::mettreEnFormeCoste($texte['texte']);
|
| 195 |
}
|
195 |
}
|
| 196 |
$this->meta->setProjet('coste');
|
196 |
$this->meta->setProjet('coste');
|
| 197 |
$meta = $this->meta->getMetaDonnees();
|
197 |
$meta = $this->meta->getMetaDonnees();
|
| 198 |
$citation = $meta[0]['citation'];
|
198 |
$citation = $meta[0]['citation'];
|
| 199 |
$coste['meta']['citation'] = $citation;
|
199 |
$coste['meta']['citation'] = $citation;
|
| 200 |
$coste['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('coste');
|
200 |
$coste['meta']['url'] = $this->appUrls->obtenirUrlMetaDonnees('coste');
|
| 201 |
$this->donnees['coste'] = $coste;
|
201 |
$this->donnees['coste'] = $coste;
|
| 202 |
}
|
202 |
}
|
| Line 203... |
Line 203... |
| 203 |
|
203 |
|
| 204 |
public function mettreEnFormeCoste($texte){
|
204 |
static function mettreEnFormeCoste($texte) {
|
| 205 |
$this->CosteFormate = array();
|
- |
|
| 206 |
$this->CosteTexte = $texte;
|
205 |
$txt_fmt = array();
|
| 207 |
//decouper elements remarquables avant le texte
|
206 |
//decouper elements remarquables avant le texte
|
| 208 |
$this->separerNomScientifique_a_NomCommun();
|
207 |
self::separerNomScientifique_a_NomCommun($texte, $txt_fmt);
|
| 209 |
$this->CosteTexte = preg_replace('/\//','',$this->CosteTexte);
|
208 |
$texte = preg_replace('/\//','',$texte);
|
| 210 |
//decouper elements remarquables après le texte
|
209 |
//decouper elements remarquables après le texte
|
| 211 |
$this-> separerEcologie_a_Usages();
|
210 |
self::separerEcologie_a_Usages($texte, $txt_fmt);
|
| 212 |
//le morceau qui reste est le gros de la description
|
211 |
//le morceau qui reste est le gros de la description
|
| 213 |
$this->CosteTexte = str_replace(';','</br> -','- '.$this->CosteTexte);
|
212 |
$texte = str_replace(';','</br> -','- '.$texte);
|
| 214 |
$this->CosteTexte = str_replace('–','',$this->CosteTexte);
|
213 |
$texte = str_replace('–','',$texte);
|
| 215 |
$this->CosteFormate['texte'] = $this->CosteTexte;
|
214 |
$txt_fmt['texte'] = $texte;
|
| 216 |
return $this->CosteFormate;
|
215 |
return $txt_fmt;
|
| Line 217... |
Line 216... |
| 217 |
}
|
216 |
}
|
| 218 |
|
217 |
|
| 219 |
|
218 |
|
| 220 |
public function separerNomScientifique_a_NomCommun(){
|
219 |
static function separerNomScientifique_a_NomCommun(&$txt, &$txt_fmt){
|
| 221 |
if ( preg_match('/\*\*(.+)\*\*([^–]*)–/', $this->CosteTexte, $retour)){
|
220 |
if ( preg_match('/\*\*(.+)\*\*([^–]*)–/', $txt, $retour)){
|
| 222 |
/* !! attention on enlève un tiret cadratin – pas un trait d'union - !! */
|
221 |
/* !! attention on enlève un tiret cadratin – pas un trait d'union - !! */
|
| 223 |
$a_enlever = array('/–/','/\./' );
|
222 |
$a_enlever = array('/–/','/\./' );
|
| 224 |
$this->CosteFormate['nom_scientifique'] = preg_replace($a_enlever,'',$retour[1]);
|
223 |
$txt_fmt['nom_scientifique'] = preg_replace($a_enlever,'',$retour[1]);
|
| 225 |
if(preg_match('/\((.+)\)/',$retour[2],$synonymes)){
|
224 |
if(preg_match('/\((.+)\)/',$retour[2],$synonymes)){
|
| 226 |
$this->CosteFormate['synonymes'] = $synonymes[1];
|
225 |
$txt_fmt['synonymes'] = $synonymes[1];
|
| 227 |
} else {
|
226 |
} else {
|
| 228 |
$this->CosteFormate['nom_scientifique'] .= $retour[2];
|
227 |
$txt_fmt['nom_scientifique'] .= $retour[2];
|
| 229 |
}
|
228 |
}
|
| 230 |
$this->CosteTexte = str_replace($retour[0],'',$this->CosteTexte);
|
229 |
$txt = str_replace($retour[0],'',$txt);
|
| 231 |
}
|
230 |
}
|
| 232 |
/* !! attention il y a un espace avant les // du début !! */
|
231 |
/* !! attention il y a un espace avant les // du début !! */
|
| 233 |
if ( preg_match('/^ \/\/([^\/\/]+)\/\//', $this->CosteTexte, $retour)){
|
232 |
if ( preg_match('/^ \/\/([^\/\/]+)\/\//', $txt, $retour)){
|
| 234 |
$a_enlever = array('/–/','/\./' );
|
233 |
$a_enlever = array('/–/','/\./' );
|
| 235 |
$this->CosteFormate['nom_commun'] = preg_replace($a_enlever,'',$retour[1]);
|
234 |
$txt_fmt['nom_commun'] = preg_replace($a_enlever,'',$retour[1]);
|
| Line 236... |
Line 235... |
| 236 |
$this->CosteTexte = str_replace($retour[0],'',$this->CosteTexte);
|
235 |
$txt = str_replace($retour[0],'',$txt);
|
| 237 |
}
|
236 |
}
|
| 238 |
}
|
237 |
}
|
| 239 |
|
238 |
|
| 240 |
|
239 |
|
| 241 |
public function separerEcologie_a_Usages(){
|
240 |
static function separerEcologie_a_Usages(&$txt, &$txt_fmt) {
|
| 242 |
if ( preg_match('/\.\s*([A-ZÉÀÈ].+)$/',$this->CosteTexte, $retour)){
|
241 |
if (preg_match('/\.\s*([A-ZÉÀÈ].+)$/',$txt, $retour)) {
|
| 243 |
$this->CosteFormate['ecologie'] = $retour[1];
|
242 |
$txt_fmt['ecologie'] = $retour[1];
|
| 244 |
$this->CosteTexte = str_replace($retour[0],'.',$this->CosteTexte);
|
243 |
$txt = str_replace($retour[0],'.',$txt);
|
| 245 |
if (isset($this->CosteFormate['ecologie']) && preg_match('/–(.+)/', $this->CosteFormate['ecologie'] , $retour)){
|
244 |
if (isset($txt_fmt['ecologie']) && preg_match('/–(.+)/', $txt_fmt['ecologie'] , $retour)){
|
| 246 |
$this->CosteFormate['repartition'] = $retour[1];
|
245 |
$txt_fmt['repartition'] = $retour[1];
|
| 247 |
$this->CosteFormate['ecologie'] = str_replace($retour[0],'',$this->CosteFormate['ecologie']);
|
246 |
$txt_fmt['ecologie'] = str_replace($retour[0],'',$txt_fmt['ecologie']);
|
| 248 |
}
|
247 |
}
|
| 249 |
if (isset($this->CosteFormate['repartition']) && preg_match('/=(.+)$/', $this->CosteFormate['repartition'], $retour)){
|
248 |
if (isset($txt_fmt['repartition']) && preg_match('/=(.+)$/', $txt_fmt['repartition'], $retour)){
|
| 250 |
$this->CosteFormate['floraison'] = $retour[1];
|
249 |
$txt_fmt['floraison'] = $retour[1];
|
| 251 |
$this->CosteFormate['repartition'] = str_replace($retour[0],'',$this->CosteFormate['repartition']);
|
250 |
$txt_fmt['repartition'] = str_replace($retour[0],'',$txt_fmt['repartition']);
|
| 252 |
}
|
251 |
}
|
| 253 |
if (isset($this->CosteFormate['floraison']) && preg_match('/–(.+)$|\n(.+)$/',$this->CosteFormate['floraison'], $retour)){
|
252 |
if (isset($txt_fmt['floraison']) && preg_match('/–(.+)$|\n(.+)$/',$txt_fmt['floraison'], $retour)){
|
| 254 |
$this->CosteFormate['usages'] = isset($retour[1]) ? $retour[1] : $retour[2];
|
253 |
$txt_fmt['usages'] = isset($retour[1]) ? $retour[1] : $retour[2];
|
| 255 |
$this->CosteFormate['floraison'] = str_replace($retour[0],'.',$this->CosteFormate['floraison']);
|
254 |
$txt_fmt['floraison'] = str_replace($retour[0],'.',$txt_fmt['floraison']);
|
| 256 |
}
|
255 |
}
|
| 257 |
if (isset($this->CosteFormate['floraison']) && preg_match('/([Ff]l\.) (.+)/',$this->CosteFormate['floraison'], $retour)){
|
256 |
if (isset($txt_fmt['floraison']) && preg_match('/([Ff]l\.) (.+)/',$txt_fmt['floraison'], $retour)){
|
| 258 |
$this->CosteFormate['floraison'] = $retour[2];
|
257 |
$txt_fmt['floraison'] = $retour[2];
|
| 259 |
$this->CosteFormate['floraison'] = str_replace($retour[1],'',$this->CosteFormate['floraison']);
|
258 |
$txt_fmt['floraison'] = str_replace($retour[1],'',$txt_fmt['floraison']);
|
| 260 |
}
|
259 |
}
|
| 261 |
if (isset($this->CosteFormate['floraison']) && preg_match('/([Ff]r\.) (.+)/',$this->CosteFormate['floraison'], $retour)){
|
260 |
if (isset($txt_fmt['floraison']) && preg_match('/([Ff]r\.) (.+)/',$txt_fmt['floraison'], $retour)){
|
| 262 |
$this->CosteFormate['fructification'] = $retour[2];
|
261 |
$txt_fmt['fructification'] = $retour[2];
|
| 263 |
$this->CosteFormate['floraison'] = str_replace($retour[0],'',$this->CosteFormate['floraison']);
|
262 |
$txt_fmt['floraison'] = str_replace($retour[0],'',$txt_fmt['floraison']);
|
| 264 |
$this->CosteFormate['floraison'] = str_replace(',','',$this->CosteFormate['floraison']);
|
263 |
$txt_fmt['floraison'] = str_replace(',','',$txt_fmt['floraison']);
|
| 265 |
$this->CosteFormate['fructification'] = str_replace($retour[1],'',$this->CosteFormate['fructification']);
|
264 |
$txt_fmt['fructification'] = str_replace($retour[1],'',$txt_fmt['fructification']);
|
| 266 |
$this->CosteFormate['fructification'] = str_replace('.','',$this->CosteFormate['fructification']);
|
265 |
$txt_fmt['fructification'] = str_replace('.','',$txt_fmt['fructification']);
|
| 267 |
}
|
266 |
}
|