Regex Url

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Regex Url

    Hi Ihr,
    hab die SuFu schon genutzt aber nichts passendes gefunden

    Ich will via regex Urls entfernen. Aber keine '<a href="" />'.

    Beispiel:
    'example.com' wird komplett entfernt. Da nicht immer ein www. oder ähnliches davor steht, muss ich mich wohl oder übel auf die endungen konzentrieren. Also quasi alles was .com, .de, .net etc. betrifft.

    Hab schon ein Array für alle möglichen Endungen. Aber Regex ist immernoch ein Buch mit 49 Siegeln. Also ein Buch mit 7 Siegeln hoch 2

    Hoffe ihr könnt mir da helfen.
    Pierre Voit ( Freelancer seit 2004 )

  • #2
    Wenn du dich mal genauer ausdrückst gerne. Also du willst URLs entfernen. Aber nicht in einem <a>-Tag? Oder wie soll ich das verstehen? Geht es um absolute oder externe Verlinkungen oder was?

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Comment


    • #3
      links findest du über den regulären ausdruck

      PHP Code:
      $regexp 
          
      '/'.
          
      '(?#Protocol)'.
          
      '((?:(?:ht|f)tp(?:s?)\:\/\/|~\/|\/)?)'.
          
      '(http:\/\/)'.
          
      '((?#Username:Password)'.
          
      '(?:\w+:\w+@)?)'.
          
      '((?#Subdomains)'.
          
      '(?:(?:[-\w]+\.)+)'.
          
      '(?#TopLevel Domains)'.
          
      '(?:com|org|net|gov|mil|biz|info|mobi|name|aero|jobs|museum|travel|[a-z]{2}))'.
          
      '((?#Port)'.
          
      '(?::[\d]{1,5})?)'.
          
      '((?#Directories)'.
          
      '(?:(?:(?:\/(?:[-\w~!$+|.,=]|%[a-f\d]{2})+)+|\/)+|\?|#)?)'.
          
      '((?#Query)'.
          
      '(?:(?:\?(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)(?:&(?:[-\w~!$+|.,*:]|%[a-f\d{2}])+=?(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)*)*)'.
          
      '((?#Anchor)'.
          
      '(?:#(?:[-\w~!$+|.,*:=]|%[a-f\d]{2})*)?)/'
      wenn du es umständlich willst kannst du diesen so erweitern, dass er a-Tags erkennt und ignoriert
      wenn du es einfacher willst suchst du erst nach allen a-Tags ersetzt sie durch platzhalter,entfernst dann alle links und ersetzt dann die Platzhalter wieder

      finden von a-Tags
      PHP Code:
      $regexp2 '/<a[^>]*href="([^"]*)"[^>]*>/'
      verantwortlich für Elygor - Das kostenlose Browserspiel

      Comment

      Working...
      X