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('../../vendor/autoload.php');
define("MAX_STRING_LENGTH", 12, true);
class LatexAnalysisElement{
@ -842,6 +843,23 @@ class LatexAnalysisElement{
//$text = html_entity_decode($text, ENT_NOQUOTES, 'UTF-8');
//$text = str_replace("š","š",$text);
//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
return;
}
@ -993,44 +1011,27 @@ class LatexAnalysisElement{
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{}
$findHttp = 'http://';
$findHttps = 'https://';
$posHttp = strpos($text, $findHttp);
$posHttps = strpos($text, $findHttps);
$isURL = 0;
if($posHttp !== false || $posHttps !== false) { //imamo URL naslov
//$text = "\url{".$text."}";
$text = "\seqsplit{".$text."}";
$isURL = 1;
}
//preveri, ce je url v besedilu (http:// ... ) in uredi Latex izpis le-tega tako, da se ga doda v \url{} - 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){
//ureditev odstranjevanja presledkov, ce so na zacetku ali koncu besedila
if(($numOfSpacesPrej)){ //ce so prisotni presledki
for($numPresledkovTmp = 1; $numPresledkovTmp <= $numOfSpacesPrej; $numPresledkovTmp++){ //za vsak presledek
$posSpace = strpos($text, $findSpace); //najdi pozicijo presledka v besedilu//preveri, kje se nahaja
if($posSpace==0){ //ce je presledek na zacetku besedila
$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
//$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 odstranjevanja presledkov, ce so na zacetku ali koncu besedila - konec
//ureditev razbijanja zelo dolgih neprekinjenih besedil s seqsplit
if($numOfSpacesPrej && $isURL == 0 && $textLength > 20){
$text = "\seqsplit{".$text."}";
//echo $text."</br>";
//priprava izpisa zelo dolgega besedila brez presledkov s seqsplit (URL, email, ...)
if( ($numOfSpacesPrej == 0 && $stringLength >= MAX_STRING_LENGTH) ){ //ce v besedilu ni presledkov in je besedilo daljse od max dovoljene dolzine
$text = "\seqsplit{".$text."}"; //ni v redu seqsplit, ker ne dela, če so posebni znaki
}
//ureditev razbijanja zelo dolgih neprekinjenih besedil s seqsplit - konec
//priprava izpisa zelo dolgega besedila brez presledkov - konec
return strip_tags($text); //vrni tekst brez html tag-ov
}