Sabine: <a href...> entfernen

Hallo Leute!

Mit

$content = str_replace("#","",$content);

entferne ich alle Hashtags aus einem Text. Jetzt möchte ich aber auch noch die Verlinkung á la <a href=.....> entfernen. Problem: Der Inhalt/Link ist natürlich jedes Mal ein anderer.

Wie kann ich also dem guten Stück sagen, dass es generell einfach diese Verlinkungs-Dinger rausschmeißen kann, also praktisch alles was zwischen den eckigen Klammern steht?

Vielen Dank!
Sabine

  1. Wie kann ich also dem guten Stück sagen, dass es generell einfach diese Verlinkungs-Dinger rausschmeißen kann, also praktisch alles was zwischen den eckigen Klammern steht?

    Mit strpos suchst du die erste Klammer.
    Mit supstr schneidest du den String an der Stelle ab und suchst mit strpos das Ende im neuen String.
    Mit substr schneidest du den 2. String zurecht und pappst dann alles wieder zusammen.

    Gruß
    Norbert

  2. $content = str_replace("#","",$content);

    entferne ich alle Hashtags aus einem Text. Jetzt möchte ich aber auch noch die Verlinkung á la <a href=.....> entfernen. Problem: Der Inhalt/Link ist natürlich jedes Mal ein anderer.

    Was hast du denn bisher versucht? Stringfunktionen?

    Wie kann ich also dem guten Stück sagen, dass es generell einfach diese Verlinkungs-Dinger rausschmeißen kann, also praktisch alles was zwischen den eckigen Klammern steht?

    Macht strip_tags mehr als Dir lieb ist?

    PS.: Rautezeichen bitte und eckige Klammern sind die hier [].

    1. Macht strip_tags mehr als Dir lieb ist?

      Leider ja. Gibt es eine Möglichkeit nur die A HREF-Sachen zu entfernen?

      1. Macht strip_tags mehr als Dir lieb ist?

        Leider ja. Gibt es eine Möglichkeit nur die A HREF-Sachen zu entfernen?

        Mehrere, siehe auch die andere Antworten. Schau mal in die "User Contributed Notes" auf der verlinkten Seite. Der momentan oberste (vom 16-Sep-2009 05:03) enthält z.B. _eine_ Lösung.

  3. entferne ich alle Hashtags aus einem Text.

    Nein, Hashtags entfernst du damit keineswegs - du entfernst sämtliche Crosshashes/Nummernzeichen/Rauten (wie auch immer man das nennt).

    Damit zerstörst du sämtliche Hashtags im Text sowie sämtliche URLs mit Fragmenten (RFC 2396, Abschnitt 4.1).

    Jetzt möchte ich aber auch noch die Verlinkung á la <a href=.....> entfernen. Problem: Der Inhalt/Link ist natürlich jedes Mal ein anderer.

    Wie kann ich also dem guten Stück sagen, dass es generell einfach diese Verlinkungs-Dinger rausschmeißen kann, also praktisch alles was zwischen den eckigen Klammern steht?

    strip_tags() wäre eine Möglichkeit.

    Deinen str_replace() solltest du aber tunlichst entfernen, da du damit wie bereits erwähnt Teile des Quelltext zerstören kannst.