ThWboard Support-Forum (Archiv)
Ort: / Boardübersicht / PHP / MySQL Probleme / aus string -> text exthrahieren und als varibale speichern
Seite 1 von 1
Luki schrieb am 21.09.2003 um 22:07 Uhr
Hi,
1.) Ich möchte einem $string nach Begriffen wie "mp3" "wav" oder "vbs" durchsuchen lassen und falls z.B. "mp3" in dem String vorkommt MP3 aus dem String herauslöschen und in der $varibl dann MP3 (weil es rausgelöscht wurde) abspeichern.
$string = "Ich liebe MP3" //soll werden:
$string = "Ich liebe"
$yipi = "MP3"
klar mit if mp3 replace .. und var mp3 else if wav replace wav ... würde das gehen aber kann man das nicht irgendwie einfacher machen?
2.) Ich bekomme einen String mit zwei Wörtern oder Phrasen und möche diese nun aufsplitten sodaß ich danach 2 Strings $a und $b habe mit jeweils einem Wort drin also z.B.
$string = "Haus Baum" //soll werden:
$a = Haus
$b = Baum
oder
$string = "\"riesen Haus\" \"kleiner Baum\"" //soll werden:
$a = "riesen Haus"
$b = "kleiner Baum"
Hat hierfür jemand Tipps / Lösung?
Danke Danke Danke Lukas
theDon schrieb am 21.09.2003 um 22:16 Uhr
$t = "";
$string = "foo.mp3";
if($t = preg_match("/(mp3|wav|vbs)/i", $string))
{
$string = str_replace($t, '', $string);
}
Luki schrieb am 22.09.2003 um 19:24 Uhr
:) danke schonmal allerdings ist $t in deinem Beispiel je nachdem ob es im String enthalten ist 1 oder 0 !! Im Beispiel sollte es allerdings möglichst "mp3" sein... !?
andere sache:
wie müsste man das formulieren damit alles hinter einem "." im String entfernt und als Variable gespeichert wird!?
wenn ich das schaffe kann ich hoffentlich einen kleinen Hack schreiben :)
theDon schrieb am 23.09.2003 um 20:26 Uhr
$var = preg_replace("/.*?\.(.*)/", '$1' $string);
Luki schrieb am 26.09.2003 um 16:05 Uhr
Göttlich klappt sehr gut! Danke Dir!
zu guter Letzt (dann hab ich's auch :) )
Ich bekomme geliefert:
$nr1 = "Huhn Baum";
^^ ein String mit 2 Wörtern drin und beliebig
vielen Leerzeichen zwischen den Wörtern
daraus soll werden
$nr2 = "Huhn";
$nr3 = "Baum";
^^ d.h. das ganze soll in 2 aufgesplittet werden
so und das ganze noch ein wenig komplexer:
Ich bekomme geliefert:
$nr1 = ' "Baum Haus" "riesen Huhn" ';
soll werden:
$nr2 = "Baum Haus";
$nr3 = "riesen Huhn";
d.h. das ganze zwischen den Anführungstrichen soll eins werden...
falls mehr als 4 Anführungsstriche in $nr1 enthalten sind soll es eine Meldung geben
theDon schrieb am 26.09.2003 um 17:06 Uhr
$var = "foo bar";
$arr = preg_split("/\s/", $var);
$var = '"Baum Haus" "riesen Huhn"';
if(substr_count($var, '"') != 4)
{
die("err.");
}
$arr = preg_split("/(\"|((?<=\")\s(?=\")))/", $var, PREG_SPLIT_NO_EMPTY);
Luki schrieb am 26.09.2003 um 17:48 Uhr
preg_split("/(\"|((?<=\")\s(?=\")))/",...
wo finde ich bloß eine Anleitung für diese Krypto Suche ... durch lauter ((()()( & =?? steige ich einfach noch nicht durch, dafür ist mein Know How zu bescheiden.
leider bekomme ich bei deinem 2. Code immer noch den kompletten $var als Array... :?
Danke @Don, Du hast was gut bei mir! :)
theDon schrieb am 26.09.2003 um 18:07 Uhr
$var = '"Baum Haus" "riesen Huhn"';
if(substr_count($var, '"') != 4)
{
die("err.");
}
$arr = preg_split("/(\"|((?<=\")\s(?=\")))/", $var, -1, PREG_SPLIT_NO_EMPTY);
Luki schrieb am 26.09.2003 um 18:21 Uhr
Yipiii, jetzt steige ich durch :) - hab mir mal versucht das ganze zu erklären und eine Klammer nach der anderen entfernt! - und voila ich habe mal wieder eine Menge dazu gelernt! Klappt :)
$arr = preg_split("/\"|(?<=\")\s(?=\")/", $var, -1, PREG_SPLIT_NO_EMPTY);
Tausend x Danke!!! - was würde ich hier bloß ohne solche Helfer machen? :)
theDon schrieb am 26.09.2003 um 18:52 Uhr
jaja, sind nen paar überflüssige klammern dabei, aber ich find das übersichtlicher, wenn man nen editor hat, der matching brace highlighting kann.
Luki schrieb am 26.09.2003 um 19:15 Uhr
grrr hänge schon wieder fest:
Ich möchte aus meinem String die Wörter zählen...
echo count(explode(" ",$string));
geht nicht weil ja auch mehr Leerzeichen dazwischen sein können...
und http://de.php.net/manual/de/function.str-word-count.php ist leider erst ab > 4.3.0
muss ich also erst alle Leerzeichen in einer Schleife entfernen?
Welchen Editor verwendest du?
theDon schrieb am 26.09.2003 um 19:29 Uhr
echo count(preg_split("/\s/+", $string, -1, PREG_SPLIT_NO_EMPTY);
ich nehm xemacs. (auf die gefahr hin, mal wieder nen heiligen editor-krieg loszubrechen o_O)
Seite 1 von 1