Php Url Erzeugung



  • Hi
    Hab ne ganz kurze Frage.
    Hab ne Variable die nennen wir mal $=i;

    Und die Variable will ich so einsetzen das sie ausgegeben wird mit einer URL Einspannung also
    echo ".....";
    damit jeder automatisch mit der Eingesezten Variable nen Link generiert bekommt.
    Die Variable ist eben dabei der Website Name z.B. Carefree.de oder Straus.de.

    Geht das?
    Wie geht das?

    m.f.g.



  • Hi,
    hä?

    Ich hab kein Wort verstanden! Tut mir leid....

    MfG

    Alexander Sulfrian



  • Also ich habe Werte aus ner Dantbank die werden der Reihenfolge nach ausgelesen.
    Die Variable i steht jetzt für einen der Werte.
    Ich möchte also
    in PHP Code Übersezt ausgegeben haben:

    <a href="http://www.nachhause.de"></a>

    Wobei nachhause.de die Variable i ist.
    Und der User soll nur noch sehen wie da ein Link steht und er kann drauf klicken und wird über den Link weitergeleitet.

    m.f.g.



  • Und wo ist da jetzt dein Problem 😕 So wie du es gepostet hast, sieht der User übrigens gar nichts (Leerer Tag) 😉



  • Ja kann ich das denn nun so mit echo ausgeben?

    echo "<a href="http://www.eins">eins">zwei</a>";

    Da kriege ich doch Probleme mit den Anführungszeichen oder nicht?

    Hab gerade keinen PHP Server laufen.

    m.f.g.



  • Machs doch einfach so:
    echo "<a href=\"http://www.eins\\">zwei</a>";
    (mit \ vor den anführungszeichen)



  • Du hast mehrere Möglichkeiten:
    - Alle " escapen - also als \" schreiben
    - String in '' einschließen - ist schneller (allerdings kannst du dann keine Variablen mehr direkt reinschreiben)

    Also am besten wäre es afaik so:

    echo '<a href="http://www.',$eins,'">',$zwei,'</a>';
    


  • Komma? Der Verknüpfungsoperator ist doch der Punkt. Oder geht Komma auch?



  • Man hat mich mal belehrt (war es Shade?), dass es mit Komma bei echo schneller ist, da sonst im Speicher erst die ganzen Strings verknüpft werden müssen.


  • Mod

    Loggy schrieb:

    Komma? Der Verknüpfungsoperator ist doch der Punkt. Oder geht Komma auch?

    echo nimmt unendlich viele Parameter entgegen. Warum print() das nicht auch macht würde mich aber mal interessieren. Denn intern nimmt ja jede Funktion unendlich viele Parameter entgegen - es liegt immer an der Funktion selber zu checken ob die Parameteranzahl stimmt (und mehr Parameter bedeuten somit auch kaum mehr aufwand). Es wäre also nicht kompliziert das für print() auch zu implementieren...

    Weiss den Grund zufällig jemand?



  • flenders schrieb:

    Man hat mich mal belehrt (war es Shade?), dass es mit Komma bei echo schneller ist, da sonst im Speicher erst die ganzen Strings verknüpft werden müssen.

    Ein Link zur "Belehrung"

    Shade of Mine schrieb:

    Es wäre also nicht kompliziert das für print() auch zu implementieren...

    Doch, daß wäre sogar ziemlich kompliziert. Zum einen sind weder print noch echo Funktionen, die Parameter-Übergabe und -Abprüfung sieht intern also etwas anders aus. Zum anderen kommt print im Gegensatz zu echo genauso wie das Komma in der Operatoren-Rangfolge-Tabelle (irgendwie hört sich das englische "precedence-Table" besser an, oder?) vor. Man könnte also bei Verwendung weiterer Kommata nicht zuordnen, ob das Komma jetzt zum Print gehört, oder ob es ein eigenständiger "Operator" ist.

    Mit print könnte man z.B. sowas hier veranstalten:

    echo print 'Hello',print ' ',print 'World'; // oder auch
      echo print 'Hello',' ',print 'World';
    

    Im zweiten Fall würde das Leerzeichen jetzt vom echo verarbeitet werden, wärend im ersten Fall nur die einsen vom echo abgefrühstückt werden würden. Wenn jetzt aber auch Kommata für die Parameter vom print erlaubt wären, dann müsste der Computer schon raten, was der Programmierer jetzt wohl gemeint hat.

    Jetzt könnte man natürlich damit kommen, daß man die einzelnen Parameter dann halt Klammern müsste, womit wir dann aber erstens den Parser komplett verwirren würden, und zweitens wäre das ja auch bei echo nicht möglich.

    Ein Beispiel:

    echo ('Hallo'),(' '),('Welt'); // => geht einwandfrei
      echo ('Hallo'.' '.'Welt'); // => geht auch
      echo ('Hallo', ' ', 'Welt'); // Parse-Error
    

    Gruß Jens


Anmelden zum Antworten