kostenloser Webspace werbefrei: lima-city


Problem mit strpos() und substr()

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    speedtouch92

    Kostenloser Webspace von speedtouch92

    speedtouch92 hat kostenlosen Webspace.

    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.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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);
  4. Autor dieses Themas

    speedtouch92

    Kostenloser Webspace von speedtouch92

    speedtouch92 hat kostenlosen Webspace.

    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.

  5. 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 ;)
  6. Autor dieses Themas

    speedtouch92

    Kostenloser Webspace von speedtouch92

    speedtouch92 hat kostenlosen Webspace.

    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)));
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!