Einzelnen Beitrag anzeigen

Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#17

Re: Suche BBCode-Klasse für PHP

  Alt 11. Mär 2010, 15:03
Das schaue ich mir an, danke.

Edit: ganz wohl ist mir nicht, wenn ich solche RegEx darin sehe.


Code:
if (preg_match("/^
   (?:https?|ftp):\\/\\/
   (?:
      (?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+
      [a-zA-Z0-9]
      (?:[a-zA-Z0-9-]*[a-zA-Z0-9])?
   |
      \\[
      (?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}
      (?:
         25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-zA-Z0-9-]*[a-zA-Z0-9]:
         (?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21-\\x5A\\x53-\\x7F]
            |\\\\[\\x01-\\x09\\x0B\\x0C\\x0E-\\x7F])+
      )
      \\]
   )
   (?::[0-9]{1,5})?
   (?:[\\/\\?\\#][^\\n\\r]*)?
   $/Dx", $string)) return true;

// ...

$output = preg_split("/( (?:
      (?:https?|ftp) : \\/*
      (?:
         (?: (?: [a-zA-Z0-9-]{2,} \\. )+
            (?: arpa | com | org | net | edu | gov | mil | int | [a-z]{2}
               | aero | biz | coop | info | museum | name | pro
               | example | invalid | localhost | test | local | onion | swift ) )
         | (?: [0-9]{1,3} \\. [0-9]{1,3} \\. [0-9]{1,3} \\. [0-9]{1,3} )
         | (?: [0-9A-Fa-f:]+ : [0-9A-Fa-f]{1,4} )
      )
      (?: : [0-9]+ )?
      (?! [a-zA-Z0-9.:-] )
      (?:
         \\/
         [^&?#\\(\\)\\[\\]\\{\\}<>\\'\\\"\\x00-\\x20\\x7F-\\xFF]*
      )?
      (?:
         [?#]
         [^\\(\\)\\[\\]\\{\\}<>\\'\\\"\\x00-\\x20\\x7F-\\xFF]+
      )?
   ) | (?:
      (?:
         (?: (?: [a-zA-Z0-9-]{2,} \\. )+
            (?: arpa | com | org | net | edu | gov | mil | int | [a-z]{2}
               | aero | biz | coop | info | museum | name | pro
               | example | invalid | localhost | test | local | onion | swift ) )
         | (?: [0-9]{1,3} \\. [0-9]{1,3} \\. [0-9]{1,3} \\. [0-9]{1,3} )
      )
      (?: : [0-9]+ )?
      (?! [a-zA-Z0-9.:-] )
      (?:
         \\/
         [^&?#\\(\\)\\[\\]\\{\\}<>\\'\\\"\\x00-\\x20\\x7F-\\xFF]*
      )?
      (?:
         [?#]
         [^\\(\\)\\[\\]\\{\\}<>\\'\\\"\\x00-\\x20\\x7F-\\xFF]+
      )?
   ) | (?:
      [a-zA-Z0-9._-]{2,} @
      (?:
         (?: (?: [a-zA-Z0-9-]{2,} \\. )+
            (?: arpa | com | org | net | edu | gov | mil | int | [a-z]{2}
               | aero | biz | coop | info | museum | name | pro
               | example | invalid | localhost | test | local | onion | swift ) )
         | (?: [0-9]{1,3} \\. [0-9]{1,3} \\. [0-9]{1,3} \\. [0-9]{1,3} )
      )
   ) )/Dx", $string, -1, PREG_SPLIT_DELIM_CAPTURE);
  Mit Zitat antworten Zitat