Urllänge zählen und Zeichen einfügen

YeLm

Grünschnabel
Hallo.

Ich bastle zur Zeit an einem Script, bei dem der User in einem Formular einen Text eingibt, dieser Text wird dann per $_GET[text] auf eine Seite eingefügt. So ist es möglich den Text bereits an die Url zu hängen ( http://www.name.de/text.php?text=hallo+wie+geht+es+dir ). Das Eingabeformular ist mehrzeilig, Zeilenumbrüche sind nötig, da der Text über ein Hintergrundbild gelegt wird und nicht verutschen will.
Ich möchte, dass Php die Url automatisch verändert. Ab der Stelle ?text=... Soll aller 20 Zeichen (dann passt es mit der Schriftgröße und dem Hintergrundbild) ein zeilenumbruch eingefügt wird. In der Url würde dieser mit %0D%0 angezeigt werden.

Als Lösungsansatz habe ich überlegt, die Funktionen strlen (um die Stringlänge zu ermitteln) , strstr (um ab dem = anzufangen) und str_replace zu verwenden. Jedoch fand ich keine Beispiele/Codeschnipsel, die sich auf mein Problem übertragen ließen, da ja ein Zusammenspiel der Funktionen erfordert wird.

Über Lösungsvorschläge ( oder wenn vorhanden sogar fertige Scripte) wäre ich sehr dankbar.

Mfg, YeLm
 
Hallo!

Ich habe eine andere Idee.
Du rufst die übergebenen Daten doch sicher irgendwo ab.
Wie wäre es, wenn Du an der Stelle, wo Du sie abrufst die Zeilenumbrüche durchführst?
Schau die dazu mal das hier an.

redlama
 
Du unterteilst den String in ein Array, wobei jedes Element 20 Zeichen beinhaltet. Dann kannst du mit Hilfe von implode() den String wieder zusammenfügen, mit einem "<br>" dazwischen:
PHP:
$arr = array();

for($i=0; $i<strlen($string); $i+=20) {
    $arr[] = substr($string, $i, 20);
}

$newStr = implode($arr, "<br>");
 
Zurück