PHP String auslesen zeichen suchen und zählen
lima-city → Forum → Die eigene Homepage → HTML, CSS & Javascript
abfragen
ausgabe
break
code
dank
definieren
eins
funktion
glauben
helfen
http
opus
posten
problem
schau
senden
string
text
url
zeichen
-
Mahlzeit,
also ich hab son Spaßvogel(ohne Namen zu nennen), der in meine Shoutbox immer Texte ballert die nicht umgebrochen werden um damit über den Rand zu schreiben und das geht mir schon ziemlich auf die Eier ums mal milde auszudrücken.
So zuerst hab ich versucht Zwangsumbrüche rein zu machen, das klappt allerdings nur mitn IE einigermaßen, der FF und Opera sträuben sich dagegen vehement(feste Tabellenbreiten helfen da auch nicht).
Also will ich jetzt versuchen dieses Problem schon beim auslesen des Strings dieses Problem zu umgehen oder hat jemand ne andere wirkungsvolle Idee? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Einfach die Länge des Strings abfragen und ab einer bestimmten Länge einen Umbrauch reinhauen.
-
Einfach die Länge des Strings abfragen und ab einer bestimmten Länge einen Umbrauch reinhauen.
Das hatte ich auch schon, aber dann zerfetzt man sämtliche Wörter... -
Aber wie willst dus sonst machen?
Da keine Leerzeichen vorhanden sind, musst du den Umbruch einfach erzwingen. -
Aber wie willst dus sonst machen?
Da keine Leerzeichen vorhanden sind, musst du den Umbruch einfach erzwingen.
word-break:break-all;
word-wrap:break-word;
damit macht er es nur da wo es wirklich zwingend notwendig ist..klappt auch im IE, aber halt nicht im FF und Mozilla und machen will ich es so wie die Überschrift heißt
Beitrag geändert: 29.5.2008 13:55:59 von blu3t0oth -
Verschoben nach HTML & Javascript, da es nichts mit PHP sondern der Ausgabe (HTML) zu tun hat.
Wenn du den Code posten kannst, den das Script ausgibt kann man dir besser weiterhelfen.
bitte zurückschieben...ich wills ja mit PHP machen und nicht mit HTML/JS -
also wenn man den text in ein div reinwirft und das div formatiert mit max-width:100px;width:100px;overflow:hidden; sollte es gehen oder seh ich das falsch
ich hab das eben mal probiert und im ie, firefox und opera ging es
edit:
es richtig bei html - es ist ja eine css formatierung im html-text den du mit php nur ausgibst/erzeugst
Beitrag geändert: 29.5.2008 14:05:53 von robin -
also wenn man den text in ein div reinwirft und das div formatiert mit max-width:100px;width:100px;overflow:hidden; sollte es gehen oder seh ich das falsch
ich hab das eben mal probiert und im ie, firefox und opera ging es
edit:
es richtig bei html - es ist ja eine css formatierung im html-text den du mit php nur ausgibst/erzeugst
Beitrag geändert: 29.5.2008 14:05:53 von robin
Ich probiers ma...
PHP String auslesen zeichen suchen und zählen <<<wo gehört das in HTML/JS??? Ich will eigentlich bestimmte Zeichen mit nem php befehl suchen und zählen lassen -
Verschoben nach HTML & Javascript, da es nichts mit PHP sondern der Ausgabe (HTML) zu tun hat.
Wenn du den Code posten kannst, den das Script ausgibt kann man dir besser weiterhelfen.
bitte zurückschieben...ich wills ja mit PHP machen und nicht mit HTML/JS
Die Ausgabe ist trotzdem HTML. Ob du das per PHP ausgibst oder nicht macht keinen Unterschied.
Poste doch einfach die Ausgabe (HTML), meinetwegen auch das PHP-Script das das ausgibt und das CSS, dann kann man dir auch helfen, denn es kann an verschiedenen Sachen liegen und ohne zu wissen wie das dasteht kann man nicht helfen.
/Edit: oder gib uns einen Link zu der Shoutbox.
Beitrag geändert: 29.5.2008 14:23:29 von trueweb -
einfach auf meine HP gehen, da is die Shoutbox gleich rechts...also mit dem angegebenen CSS von oben gehts zwar erstma(danke) allerdings wäre es mir lieber, wenn ich das durch zeichen auszählen umbrechen könnte...
es geht darum, dass ich den kompletten text inner variable habe $kommentar und wenn wieder son SpaßVogel mit x Unterstrichen oder Punkten kommt will ich die halt auszählen und an bestimmten stellen dann halt <br> einfügen lassen...
Edit: klasse, jetzt funktioniert das zwar, ABER jetzt werden dadurch die Unterstriche im Text einfach ausgeblendet außerdem sagt mir der css-validator das es \"max-width:\" garnicht gibt, dabei funktioniert es damit auf beiden Browsern
Beitrag geändert: 29.5.2008 14:44:59 von blu3t0oth -
Hab jetzt nicht alles durchgelesen.
Aber wie wärs wenn du diese Funktion mal versuchst:
http://at2.php.net/wordwrap -
Hab jetzt nicht alles durchgelesen.
Aber wie wärs wenn du diese Funktion mal versuchst:
http://at2.php.net/wordwrap
Danke für die Funktion, nur leider habe ich die auch schon probiert und die bricht halt immer ab, auch wenn sie es eigentlich nicht soll -
einfach auf meine HP gehen, da is die Shoutbox gleich rechts...also mit dem angegebenen CSS von oben gehts zwar erstma(danke) allerdings wäre es mir lieber, wenn ich das durch zeichen auszählen umbrechen könnte...
es geht darum, dass ich den kompletten text inner variable habe $kommentar und wenn wieder son SpaßVogel mit x Unterstrichen oder Punkten kommt will ich die halt auszählen und an bestimmten stellen dann halt <br> einfügen lassen...
Mhm, wenn ich daraufgehen würde würde ich das php nicht angezeigt bekommen. Das heißt alles, was du, wie du es gesagt hast. In php gemacht hast wird nicht ausgegeben.
Genau so, wie in allen anderen Sprachen auch:
$laenge = strlen($string)
gibt die laenge aus.
Also einfach: if ($laenge > 50)
{
echo\"\\n\";
}
(könnte jetzt sein, dass es nicht \\n ist. Bin gerade zu sehr auf c++ Konzentriert, was ich seit stunden mache^^...)
ansonsten:
1 Sag uns, was du willst
2 Sag uns, was du hast
3 Sag uns, warum du die sachen nicht in google findest
4 Lös es mit unseren vorschlägen oder sag uns deine Fehler bei den anderen nicht funktionierenden sachen.
-
Hab jetzt nicht alles durchgelesen.
Aber wie wärs wenn du diese Funktion mal versuchst:
http://at2.php.net/wordwrap
Danke für die Funktion, nur leider habe ich die auch schon probiert und die bricht halt immer ab, auch wenn sie es eigentlich nicht soll
Wirklich?
Also laut dem Manual kann man das definieren ...
-
Das mitn definieren hab ich auch nochma probiert: definiert man nichts funktioniert es garnich und definiert man doch zerschneidet er halt auch wörter die er nicht zerschneiden soll...also is die Variante mit dem CSS momentan leider noch die beste(wobei ich gerade feststellen musste das Opera und IE anders abschneiden als sie sollen, zum brechen is das -.-)
-
Habe mir mal Deine Seite angeguckt & ne kurze js-lösung geschrieben.
Müsste mit allen gängigen Browser gehen.
Einfach \"onsubmit=\"wortumbruch(this)\" in deine <form>-tag einfügen, maxwortlaenge auf die maximale anzahl die ein Wort haben darf ändern und natürlich den ganzen javascript teil in der seite einfügen.
<form method=\"post\" action=\"\" onsubmit=\"wortumbruch(this)\"> <font style=\"\" color=\"#000000\"> Name:<br><input name=\"name\" size=\"10\" maxlength=\"10\" type=\"text\"><br> Text:<br><input name=\"text\" size=\"18\" maxlength=\"255\" type=\"text\"> <br> <input name=\"submit\" value=\"Speichern\" type=\"submit\"> <input name=\"submited\" value=\"save\" type=\"hidden\" OnSubmit=\"wortumbruch(this)\"> <hr> </form> <script type=\"text/javascript\"> function wortumbruch(obj) { maxwortlaenge=14; var dertext = obj.text.value; var derneuetext = \"\"; wort = dertext.split(\" \"); for (a=0;a<wort.length;a++) { if (wort[a].length > maxwortlaenge) { c=0; for (b=0;b<wort[a].length;b+=maxwortlaenge) { derneuetext += wort[a].slice(c,b)+\" \"; c=b; } derneuetext += wort[a].slice(c,wort[a].length)+\" \"; }else { derneuetext += wort[a]+\" \"; } } obj.text.value = derneuetext; return true; } </script>
p.s. eine optimale lösung kann natürlich nur eine php-lösung sein also stimme ich zu das das verschieben in dieses Forum falsch war (!)
Beitrag geändert: 29.5.2008 17:35:03 von simuliertes -
Ich bedanke mich recht herzlich für deine Mühe, aber das hatte ich auch schon via PHP lösen wollen, war der Vorschlag den ich zuletzt probieren wollte und das Problem dabei ist, dass 1. nicht alle Wörter die selbe Breite einnehmen und 2. alle Wörter an den entsprechenden Stellen abgeschnitten werden, auch da wo es absoluter Unsinn is :(
Die Lösung wäre wohl dass man im String nach Leerzeichen such und die Zeichen dazwischen zählt und jedes mal Wenn ein Wert überschritten wird, müsste halt nen <br> eingefügt werden, aber ich weis nicht so recht wie ich das mit PHP anstellen soll -
eine andere Lösungsmöglichkeit wäre doch auch das du ganz simpel mit css festlegst das der text in mit einem scrollbalken angezeigt wird (also so wie der code hier angezeigt wird) oder?
Wäre jedenfalls um einiges simpler als php.
Wenn Du das mit php lösen willst würde ich das mittels regex machen.
-
eine andere Lösungsmöglichkeit wäre doch auch das du ganz simpel mit css festlegst das der text in mit einem scrollbalken angezeigt wird (also so wie der code hier angezeigt wird) oder?
Wäre jedenfalls um einiges simpler als php.
Wenn Du das mit php lösen willst würde ich das mittels regex machen.
was is regex?
An nen Scrollbalken hatte ich auch schon gedacht, aber bei 150px breite is einfach kein Platz fürn Scrolli und breiter will ich die Seite eigentlich au nich machen, ach alles scheiße*seufz* -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage