Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Die Funktion substr funktioniert nicht

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Die Funktion substr funktioniert nicht

    Ich möchte einen bestimmten String auslesen den dessen Position ich bereits mit strpos bestimmt habe auslesen und in einer Variable speichern. Nur Zeigt der String nichts an wenn ich ihn mit echo ausgebe. Ich habe den Befehl bereits zuvor ausgeführt. Hängt es vieleicht dadran dass man "substr" nicht zweimal ausführen kann?
    Was sind die Alternativen?
    Ich möchte eine liste von links auslesen und die Link Adresse und dazugehörigen text jeweils getrennt von einander abspeichern.

    PHP-Code:
    $pos =strpos($Stellen'<a');
    $pos2 =strpos($Stellen'">'$pos);
    $ende $pos2 -$pos;
    $St substr($Stellen$pos$ende);
    echo 
    $pos;
    echo
    "<br>";
    echo 
    $pos2;echo"<br>";
    echo 
    $ende;
    echo 
    $St
    Hat sich erledigt geht schon wird nur nicht korrekt angezeigt

  • #2
    Debuggen mit echo ist Murx

    Zitat von Blackhead77 Beitrag anzeigen
    Hat sich erledigt geht schon wird nur nicht korrekt angezeigt
    So wie es hier fast täglich zu sehen ist, wie sich Leute mit mail() abquälen,
    anstelle eine vernünftige Mailerklasse zu nutzen,
    wird auch immer wieder versucht echo für Debuggingzwecke zu nutzen.
    Beispiel:
    PHP-Code:
    <?php
    $text 
    "<span>inhalt</span>\r\n";

    echo 
    $text;
    /*
    Ausgabe
    inhalt
    */
    Um zu erfahren, was wirklich ausgegeben wurde, ist ein Blick in den Browserquellcode notwendig.
    Das Auffinden der richtigen Stelle bedarf mitunter etwas Übung.

    var_dump() bietet da schon etwas mehr an Informationen, hat aber auch so seine Tücken.
    Beispiel:
    PHP-Code:
    <?php

    $text 
    "<span>inhalt</span>\r\n";

    var_dump($text);
    /*
    Ausgabe
    string(21) "inhalt " 
    */
    Erst beim genauen Hinschauen (Space hinter inhalt und die Anzahl von 21 Zeichen) wird erkannt,
    dass sich in $text nicht nur das Wort inhalt befindet.

    Die Nutzung einer Debug-Klasse vermeidet die genannten Probleme weitgehend.
    Nach dem Einbinden der statischen Klasse ist diese überall sofort nutzbar.

    PHP-Code:
    <?php
    require '../class/class.debug.php';

    $text "<span>inhalt</span>\r\n";
    debug::write('$text',$text);
    Beispiel für eine Ausgabe:


    Beschreibung der Klasse s. Signatur.

    LG jspit

    Kommentar

    Lädt...
    X