Problem mit strpos

  • Hallo zusammen,
    bin neu hier und hoffe ihr könnt mir helfen :)
    ich versuche im moment folgendes:
    mit einem php script wird ein shoutcast server ausgelesen
    allerdings kommt in der title anzeige gelegentlich eine ( nun ist mein versuch alles was nach der ( kommt in einem substr zu entfernen.

    derzeit sieht das ganze so aus:

    PHP
    $titlelong = $radio->title;
    $findmich = "(" OR "[' OR '{';
    $chrpos = strpos($titlelong, $findmich);
    $title = trim(substr($titlelong, 0, $chrpos));
        echo $title;

    allerdings geht das nicht. und ich komme nicht drauf wieso.
    wenn ich das mit einem normalen text mache geht es ohne probleme aber nicht mit der ausgelesenen variable die aus $radio->title kommt.

    hoffe jemand von euch kann mir da weiter helfen.

    lg Akarin

    Einmal editiert, zuletzt von Akarin (18. Januar 2012 um 09:12)

  • PHP
    $findmich = "(" OR "[' OR '{';


    Das ist Quatsch. Immer wieder gerne genommen:

    Richtig debuggen

    • Man bemerkt, dass ein Skript nicht das tut, was es soll.
    • Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL);
    • Man verwendet ini_set('display_errors', true); damit die Fehler auch angezeigt werden.
    • Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    • An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (...not a valid MySQL result resource...): mysql_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
    • Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    • Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    • Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    • Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
  • PHP
    $findmich = "(" OR "[' OR '{';
    $chrpos = strpos($titlelong, $findmich);
    $title = trim(substr($titlelong, 0, $chrpos));
        echo $title;

    Wie bereits gesagt, das ist quatsch. Du musst nach (, [ oder { jeweils einzeln suchen.

    Der, der weiß dass er nichts weiß, weiß mehr als der, der nicht weiß, dass er nichts weiß.

    Wer nach etwas fragt, geht grundsätzlich das Risiko ein, es auch zu bekommen!