Jede Zeile in ein Array
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anzeigen
array
code
datenbank
datum
einlesen
formular
funktion
output
position
rest
schleife
stellen
string
testen
textfeld
trennen
weile
zeile
zwischenspeicher
-
Heyho, ich bins wieder :D
Hintergrund:
Ich bin jetzt eine Weile in einem Chat, wo oft sehr lustig ist und würde gern sowas erstellen wie "Ibash" oder "German-Bash.org". Halt nur für die Seite und nicht so dolle.
Das heißt, ich stelle ein Formular zur Verfügung, wo man "Qouts" (Stellen aus dem Chat) reinkopiert werden können.
Diese werden dann in der Datenbank gespeichert und auf einer anderen Seite kann man sie sich die dann formatiert anschauen.
<?php include 'datenbank.php'; //Daten einlesen $name = $_POST['nickname']; $qoute = $_POST['qoute']; if(isset($_POST['senden'])) { if($name && $qoute) { $name = str_replace('>', '»', $name); $name = str_replace('<', '«', $name); $name = str_replace('|', ' ', $name); $qoute = str_replace('>', '&raqou;', $qoute); $qoute = str_replace('<', '&laqou;', $qoute); $qoute = str_replace('|', ' ', $qoute); $qoute = nl2br($qoute); $geteilt = explode( "<br>", $qoute, strlen($qoute)); $findmich = ':'; //Länge von $findMich $needle_len = strlen($findmich); echo "<pre>"; print_r($geteilt); echo "</pre>"; for ($x = 0; $x < sizeof($geteilt[$x]); ++$x) { echo "x= ".$x."<br>"; echo count($geteilt[$x])."<br>"; //Position finden $position_num = strpos($geteilt[$x],$findmich) + $needle_len; //String trennen $result_string = substr($geteilt[$x],$x,$position_num); echo "result_string: ".$result_string."<br>"; //anzeigen echo "<b>".$result_string."</b>".substr($geteilt[$x], $position_num); } } } ?>
den Teil
echo "<pre>"; print_r($geteilt); echo "</pre>";
Habe ich mal zum Testen geschrieben, um zu sehen, was alles im Array ist.
Wenn ich jetzt im Formular z.B:
Bla1: lalala
Bla2: lalala
Bla3: lalala
eiengebe,
gibt er mir
Array ( [0] => Bla1: lalala Bla2: lalala Bla3: lalala )
aus. Was ja bedeutet, dass nur Bla1 in einem Array ist und der rest irgendwie lose drinrumliegt?
Bei
//anzeigen echo "<b>".$result_string."</b>".substr($geteilt[$x], $position_num);
in der Schleife, gibt er mir dann
x= 0
1
result_string: Bla1:
Bla1: lalala
Bla2: lalala
Bla3: lalala
Mein Ziel ist jetzt, dass Bla1, Bla2, Bla3, ...(also nachher die Nicknames) fett angezeigt werden (nicht der name, der oben im Formular eingegeben wird, sondern die in den Qoutes)
Habe jetzt schon ne weile gegooglet, alle möglichen Funktionen versucht, aber erreiche leider nicht das gewünschte ergebniss
Ich hoffe ihr könnt mir helfen :)
PS: Wenn das dann geschafft wäre, wäre ja eine Funktion ganz praktisch, wo der kopierte teil aus dem Zwischenspeicher in das Textfeld mit nur einem klick auf eine schaltfläche kopiert wird? -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Was ja bedeutet, dass nur Bla1 in einem Array ist und der rest irgendwie lose drinrumliegt?
Die beiden anderen einträge sind auch in dem array mit drin...
Wie schon von Fabo geschrieben, musst du deine Zeilen Teilen, so das jede Zeile extra ist und nicht alles in einem value -
fabo schrieb:
$array = explode("\r\n",$str);
wtf... ok, also es funktioniert, an der Schleife noch gebastelt, jetzt klappt alles, wie ich das wollte :D
Ich dachte, ich müsste bei explode nach <br> suchen, weil ich ja mit nl2br alles umgeändert habe ^^
Danke an euch :) -
Ich bin dabei nur von dem ausgegangen, was du gepostet hast (Output) und da war kein <br /> bei ;) Außerdem heißt es Quote
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage