Changeset 93509 in spip-zone
- Timestamp:
- Dec 10, 2015, 10:32:48 AM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
_plugins_/convertisseur/trunk/extract/quark_xml.php
r93490 r93509 1 1 <?php 2 3 // Sait-on extraire ce format ? 4 $GLOBALS['extracteur']['quark_xml'] = 'extracteur_quark_xml'; 5 6 function extracteur_quark_xml($fichier, &$charset) { 7 if (lire_fichier($fichier, $texte)) { 8 return convertir_extraction_quark_xml($texte); 9 } 10 } 2 11 3 12 function convertir_extraction_quark_xml($c) { … … 50 59 $item["dossier"] = str_replace(".qxp", "", $item["mise_en_page"]) ; 51 60 } 52 53 // type d'article54 55 56 57 61 58 62 // L'article et son illustration son dans des <spread> … … 213 217 } 214 218 215 function extracteur_quark_xml($fichier, &$charset) {216 if (lire_fichier($fichier, $texte)) {217 return convertir_extraction_quark_xml($texte);218 }219 }220 221 // Sait-on extraire ce format ?222 $GLOBALS['extracteur']['quark_xml'] = 'extracteur_quark_xml';223 219 224 220 … … 230 226 return $text; 231 227 } 228 229 230 // 231 function nettoyer_xml_quark($xml){ 232 233 $texte = $xml ; 234 235 $texte = preg_replace("/\R+/","",$xml); 236 $texte = preg_replace("/>\s+</","><",$texte); 237 238 // espace insécable en balise vide. 239 $texte = preg_replace("/<RICHTEXT MERGE=\"false\" NONBREAKING=\"true\"\/?>(<\/RICHTEXT>)?/ims", "<RICHTEXT MERGE=\"false\" NONBREAKING=\"true\">~</RICHTEXT>", $texte); 240 $texte = preg_replace("/<RICHTEXT[^>]+><\/RICHTEXT>/ims", "<RICHTEXT> </RICHTEXT>", $texte); 241 242 $ital = false ; 243 244 foreach(extraire_balises($texte, "RICHTEXT") as $b){ 245 246 // itals sur plusieurs balises 247 248 $prefixe_ital = "" ; 249 $ital_statut = extraire_attribut($b, "ITALIC"); 250 if(!$ital AND $ital_statut == "true"){ 251 // début d'un ital 252 $prefixe_ital = "{" ; 253 $ital = true ; 254 }elseif($ital AND $ital_statut == "true"){ 255 // ital qui continue 256 $prefixe_ital = "" ; 257 $ital = true ; 258 }elseif($ital AND !$ital_statut){ 259 // fin d'ital 260 $prefixe_ital = "}" ; 261 $ital = false ; 262 } 263 264 // gras 265 $gras_statut = extraire_attribut($b, "BOLD"); 266 if($gras_statut == "true"){ 267 $gras_debut = "{{" ; 268 $gras_fin = "}}" ; 269 }else{ 270 $gras_debut = "" ; 271 $gras_fin = "" ; 272 } 273 274 $b = supprimer_tags($b); 275 276 $texte_clean .= $prefixe_ital . $gras_debut . $b . $gras_fin ; 277 //var_dump("<pre>",htmlspecialchars($texte_clean)); 278 } 279 280 // fermer l'ital eventuellement resté ouvert 281 if($ital){ 282 $s = "}" ; 283 //var_dump("lol",$b); 284 } 285 else 286 $s = ""; 287 288 $texte = $texte_clean.$s ; 289 290 //$texte = supprimer_tags($texte); 291 292 // entites inventées 293 // espace fine 294 $texte = str_replace("&flexSpace;", "~", $texte); 295 // cesures 296 $texte = str_replace("&discHyphen;", "", $texte); 297 // autre 298 $texte = str_replace("&punctSpace;", "~", $texte); 299 $texte = str_replace("&thinsp;", "~", $texte); 300 $texte = str_replace("&ndash;", "—", $texte); 301 $texte = str_replace("&softReturn;", " ", $texte); 302 $texte = str_replace("&nbsp;", "~", $texte); 303 $texte = str_replace(" ", "~", $texte); 304 305 306 // espaces en gras. 307 $texte = str_replace(" }}","}} ",$texte); 308 $texte = str_replace("{{ "," {{",$texte); 309 310 // espaces en ital. 311 $texte = str_replace(" }","} ",$texte); 312 $texte = str_replace("{ "," {",$texte); 313 314 315 /* // espaces en italique ou en romain 316 $c = preg_replace(',[{] *~ *[}],', '~', $c); 317 $c = preg_replace(',[}] *~ *[{],', '~', $c); 318 $c = preg_replace(',[{] +[}],', ' ', $c); 319 $c = preg_replace(',[}] +[{],', ' ', $c); 320 $c = preg_replace(',([ ~])[}],', '}\1', $c); 321 $c = preg_replace(',[{]([ ~]),', '\1{', $c); 322 $c = preg_replace(',[ ~]?([{]»),', '{»', $c); 323 $c = preg_replace(',[{][}]|[}][{],', '', $c); 324 */ 325 326 327 return $texte ; 328 }
Note: See TracChangeset
for help on using the changeset viewer.