Suchen
Inside Forum
Nützliche Links




 
phpforum.de bei Facebook
 
phpforum.de bei Twitter
 

Zurück   PHP Forum: phpforum.de > PHP > PHP

PHP Alles rund um PHP

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 14.06.2018, 19:50
LkLp1082 LkLp1082 ist offline
Neuer Besucher
 
Registriert seit: 14.06.2018
Beiträge: 1
Ungl Textstring kürzen?

Hallo,
und zwar folgendes: ich habe einen langen Textstring und den möchte ich mit php kürzen (egal wie lang der string ist). Wenn ich den string eingebe soll der gekürzt werden auf so 4 - 5 zeichen. Das gleiche auch andersrum. Wenn ich diesen 4 - 5 Zeichen langen text nun wieder einfüge soll der ursprügnliche lange textstring rauskommen. Welcher befehl würde da am besten passen?
Mit Zitat antworten
  #2  
Alt 14.06.2018, 20:34
protestix protestix ist offline
Engagierter Besucher
 
Registriert seit: 29.06.2016
Beiträge: 705
Standard AW: Textstring kürzen?

Gar keiner.
Das ist nicht umsetzbar.
Mit Zitat antworten
  #3  
Alt 14.06.2018, 22:03
Jens Clasen Jens Clasen ist offline
Vorbildlicher Helfer
 
Registriert seit: 12.02.2005
Beiträge: 14.726
Standard AW: Textstring kürzen?

Zitat:
Zitat von protestix Beitrag anzeigen
Das ist nicht umsetzbar.
Naja, ich weiß ja nicht:

PHP Quellcode:
<?php

  function getTokenFromString(string $storageFile, string $longString, int $maxLength=4096){

    if(strlen($longString)>$maxLength)
      throw new Exception('Input too long');

    if(!file_exists($storageFile) && is_writeable(dirname($storageFile)))
      touch($storageFile);

    if(!(file_exists($storageFile) && is_writeable($storageFile) && is_readable($storageFile)))
      throw new Exception('Storage not availlable');

    if(filesize($storageFile)>=(base_convert('zzzzz',36,10)*$maxLength))
      throw new Exception('Storage is full');

    $fd=fopen($storageFile,'r+');

    if(!is_resource($fd))
      throw new Exception('Failed opening storage!');

    flock($fd,LOCK_EX);

    fseek($fd,0,SEEK_END);
    $startPos=ftell($fd);

    fwrite($fd,str_pad($longString, $maxLength, chr(0)));

    flock($fd,LOCK_UN);
    fclose($fd);

    return str_pad(base_convert($startPos/$maxLength, 10, 36),5,'0',STR_PAD_LEFT);
  }

  function getStringFromToken(string $storageFile, string $token, int $maxLength=4096){

    if(strlen($token)>5)
      throw new Exception('Token too long');

    if(!(file_exists($storageFile) && is_writeable($storageFile) && is_readable($storageFile)))
      throw new Exception('Storage not availlable');

    if(filesize($storageFile)/$maxLength<base_convert($token,36,10))
      throw new Exception('Token is not known');

    $fd=fopen($storageFile,'r');

    if(!is_resource($fd))
      throw new Exception('Failed opening storage!');

    flock($fd,LOCK_SH);

    if(fseek($fd,base_convert($token,36,10)*$maxLength)<0)
      throw new Exception('Storage file is garbled!');

    $string=rtrim(fread($fd, $maxLength),chr(0));

    flock($fd,LOCK_UN);
    fclose($fd);
   
    return $string;
  }

  $longString='I\'m a long string';
  $token=getTokenFromString('foo.dat',$longString);
  var_dump(getStringFromToken('foo.dat',$token));

?>




Dafür zu sorgen, dass der selbe lange Input auch immer den selben kurzen Output ergibt, überlasse ich jetzt aber dem geneigten Leser. Genauso wie das finden eines geeigneteren Speichermediums und einer Lösung für mein definiertes "egal wie lang"...

Gruß Jens
P.S.: naja gut - ab 60466175 Strings könnt das ganze auch ein wenig eng werden...
__________________
Schleichwerbung I - Schleichwerbung II

Geändert von Jens Clasen (14.06.2018 um 22:06 Uhr)
Mit Zitat antworten
  #4  
Alt 15.06.2018, 13:44
protestix protestix ist offline
Engagierter Besucher
 
Registriert seit: 29.06.2016
Beiträge: 705
Standard AW: Textstring kürzen?

Ich warte mal ab, ob da noch etwas Sinnvolles kommt, von unserem TE oder ob uns jemand lediglich beschäftigen möchte.
Mit Zitat antworten


Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu
Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Variablen in Textstring mager85 PHP 2 13.10.2008 22:24
Textstring aus Textfeld auslesen Bench PHP 5 25.04.2007 13:59
Zeichenlänge von Textstring rauskriegen Flubber PHP 9 12.07.2006 18:49
Umlaute in Textstring ersetzen macmicha PHP 2 11.04.2005 14:44
Hyperlink aus Textstring filtern... P.Abend PHP 2 21.11.2003 23:16


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:53 Uhr.


Powered by vBulletin® Version 3.8.8 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Powered by NuWiki v1.3 RC1 Copyright ©2006-2007, NuHit, LLC