Problem mit strpos() und substr()
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfang
brauche
code
ende
gegebene text
gelingen
gesuchten strings
hilfe
nachfolgenden textes
problem
punkt
stelle
string
teil
wiedereinmal
zahl
-
Hallo,
wiedereinmal brauche ich Hilfe bei meinen üblichen Problemen mit strpos() und substr().
Ich habe einen String, woraus ich eine Zahl selektieren will.
Die Zahl kann unterschiedlich lang sein, allerdings ist der Teil, der danach kommt, immer gleich.
Die Anfangsposition habe ich bereits gefunden. Nun stelle ich mich quer mit der Endposition. Das will mir einfach nicht gelingen.
Mein Code bisher:
$tmp_pos = strpos(str_replace(" ", "", $string), "<tdclass=\"zcenter\">", $tmp_pos+10); $punkte = substr(str_replace(" ", "", $string), $tmp_pos+19, strpos(str_replace(" ", "", $string), "class=")-$tmp_pos);
Der String (ab der Anfangsposition) ist:
33244<tdclass="pg-list-infozcenterlast">
<aclass="infotooltip"href="#"><span><b>blablabla:...
Vielen Dank schonmal im Vorraus. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wenn Du die Anfangsposition hast und die Stringlänge nach dem gewünschten String kennst, musst Du doch nur so etwas machen wie:
$result = substr($string, $anfangsposition, -$stringlaenge_nach_gewuenschtem_ergebnis); -
Das Problem ist, dass ich weder die Länge des gesuchten Strings kenne, noch die Länge des Strings, der danach kommt.
Der gegebene Text ist nur der Anfang des nachfolgenden Textes. -
Die Zahl kann unterschiedlich lang sein, allerdings ist der Teil, der danach kommt, immer gleich.
dachte das bezieht sich auf den Teil bis zum Ende des Strings.
Dann probiere doch mal
$result = substr($string, $anfangsposition, (strpos($string, $bekannter_teil_nach_gewuenschtem_ergebnis)-$anfangsposition));
Sorry für die langen Variablennamen ;) -
Wenn das mal so einfach wäre.
Denn dabei kommt raus:
33244<tdclass="pg-list-infozcenterlast">
<aclass="infotooltip"href="#"><s )=""><br><br></s></aclass="infotooltip"href="#"></tdclass="pg-list-infozcenterlast"><tdclass="pg-list-infozcenterlast">
<s )=""> <aclass="infotooltip"href="#"><s></s></aclass="infotooltip"href="#"></s></tdclass="pg-list-infozcenterlast"><s )=""><s>
Die entsprechende Codezeile:
$punkte = substr(str_replace(" ", "", $string), $tmp_pos+19, (strpos(str_replace(" ", "", $string), "<tdclass=")-($tmp_pos+19)));
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage