Latex za izvoze: izvoz Analiz z besedilom, ki je zelo dolgo

This commit is contained in:
patrik2020 2020-08-28 11:43:06 +02:00
parent 4b7a3b7ef1
commit b599116b2c

View File

@ -10,6 +10,7 @@
//include('../../function.php'); //include('../../function.php');
include('../../vendor/autoload.php'); include('../../vendor/autoload.php');
define("MAX_STRING_LENGTH", 12, true);
class LatexAnalysisElement{ class LatexAnalysisElement{
@ -842,6 +843,23 @@ class LatexAnalysisElement{
//$text = html_entity_decode($text, ENT_NOQUOTES, 'UTF-8'); //$text = html_entity_decode($text, ENT_NOQUOTES, 'UTF-8');
//$text = str_replace("š","š",$text); //$text = str_replace("š","š",$text);
//echo "Encoding ".$text."</br>"; //echo "Encoding ".$text."</br>";
//resevanje razbirajanja predolgih neprekinjenih besed in URL - spremenljivke za kasnejsi prilagojen izpis
$numOfWords = str_word_count($text, 0); //stevilo besed v besedilu
$numOfSpacesPrej = substr_count($text, ' '); //stevilo presledkov v besedilu
$stringLength = strlen($text); //dolzina besedila
$findSpace = ' ';
$findHttp = 'http://';
$findHttps = 'https://';
$posHttp = strpos($text, $findHttp);
$posHttps = strpos($text, $findHttps);
$isURL = 0;
/* if($posHttp !== false || $posHttps !== false) { //imamo URL naslov
$isURL = 1;
} */
//resevanje razbirajanja predolgih neprekinjenih besed in URL - konec
if($text == ''){ //ce ni teksta, vrni se if($text == ''){ //ce ni teksta, vrni se
return; return;
} }
@ -951,7 +969,7 @@ class LatexAnalysisElement{
if($posImg !== false){ if($posImg !== false){
$text = substr_replace($text, $textOfImgCode, $posOfImgCode, 0); $text = substr_replace($text, $textOfImgCode, $posOfImgCode, 0);
} }
//po ureditvi posebnih karakterjev, dodati del teksta s kodo za sliko, ce je slika prisotna //po ureditvi posebnih karakterjev, dodati del teksta s kodo za sliko, ce je slika prisotna
if($pos === false && $posImg === false) { //v tekstu ni br in img if($pos === false && $posImg === false) { //v tekstu ni br in img
//return $text; //return $text;
@ -993,44 +1011,27 @@ class LatexAnalysisElement{
return strip_tags($text); //vrni tekst brez html tag-ov */ return strip_tags($text); //vrni tekst brez html tag-ov */
} }
//preveri, ce je url v besedilu (http:// ... ) in uredi Latex izpis le-tega tako, da se ga doda v \url{} //ureditev odstranjevanja presledkov, ce so na zacetku ali koncu besedila
$findHttp = 'http://'; if(($numOfSpacesPrej)){ //ce so prisotni presledki
$findHttps = 'https://'; for($numPresledkovTmp = 1; $numPresledkovTmp <= $numOfSpacesPrej; $numPresledkovTmp++){ //za vsak presledek
$posHttp = strpos($text, $findHttp); $posSpace = strpos($text, $findSpace); //najdi pozicijo presledka v besedilu//preveri, kje se nahaja
$posHttps = strpos($text, $findHttps); if($posSpace==0){ //ce je presledek na zacetku besedila
$isURL = 0; $text = substr_replace($text, '', $posSpace, 1); //odstrani presledek iz besedila
$stringLength = strlen($text);
}elseif($posSpace==$stringLength){ //ce je presledek na koncu besedila
$text = substr_replace($text, '', $posSpace, 1); //odstrani presledek iz besedila
$stringLength = strlen($text);
}
}
$numOfSpacesPrej = substr_count($text, ' '); //stevilo presledkov v besedilu
}
//ureditev odstranjevanja presledkov, ce so na zacetku ali koncu besedila - konec
if($posHttp !== false || $posHttps !== false) { //imamo URL naslov //priprava izpisa zelo dolgega besedila brez presledkov s seqsplit (URL, email, ...)
//$text = "\url{".$text."}"; if( ($numOfSpacesPrej == 0 && $stringLength >= MAX_STRING_LENGTH) ){ //ce v besedilu ni presledkov in je besedilo daljse od max dovoljene dolzine
$text = "\seqsplit{".$text."}"; $text = "\seqsplit{".$text."}"; //ni v redu seqsplit, ker ne dela, če so posebni znaki
$isURL = 1;
} }
//preveri, ce je url v besedilu (http:// ... ) in uredi Latex izpis le-tega tako, da se ga doda v \url{} - konec //priprava izpisa zelo dolgega besedila brez presledkov - konec
//odstranitev presledkov na zacetku in koncu besedila kot predpriprava za razbijanja zelo dolgih neprekinjenih besedil
$findSpace = ' ';
$posSpace1 = strpos($text, $findSpace); //najdi pozicijo prvega presledka v besedilu
$posSpace2 = strripos($text, $findSpace); //najdi pozicijo zadnjega presledka v besedilu
/* echo "posSpace1: $posSpace1 </br>";
echo "posSpace2: $posSpace2 </br>"; */
if(($posSpace1 == 0) && $isURL == 0){
$numOfSpacesPrej = substr_count($text, ' '); //stevilo presledkov v besedilu
//$text = str_replace(' ','',$text); //nadomesti presledke
$textLength = strlen($text);
//echo $text."</br>";
//$text = str_replace(' ','X',$text); //nadomesti presledke
//echo $text."</br>";
}
//odstranitev presledkov na zacetku in koncu besedila kot predpriprava za razbijanja zelo dolgih neprekinjenih besedil - konec
//ureditev razbijanja zelo dolgih neprekinjenih besedil s seqsplit
if($numOfSpacesPrej && $isURL == 0 && $textLength > 20){
$text = "\seqsplit{".$text."}";
//echo $text."</br>";
}
//ureditev razbijanja zelo dolgih neprekinjenih besedil s seqsplit - konec
return strip_tags($text); //vrni tekst brez html tag-ov return strip_tags($text); //vrni tekst brez html tag-ov
} }