Skip to main content

Diigo Home
Home/ Groups/ tech-geeks
Chris Wherley

MakeItLink - Detecting URLs In Text And Making Them Links | Joseph Scott - 0 views

  •  
    class MakeItLink {
        protected function _link_www( $matches ) {
            $url = $matches[2];
            $url = MakeItLink::cleanURL( $url );
            if( empty( $url ) ) {
                return $matches[0];
            }
     
            return "{$matches[1]}{$url}";
        }
     
        public function cleanURL( $url ) {
            if( $url == '' ) {
                return $url;
            }
     
            $url = preg_replace( "|[^a-z0-9-~+_.?#=!&;,/:%@$*'()x80-xff]|i", '', $url );
            $url = str_replace( array( "%0d", "%0a" ), '', $url );
            $url = str_replace( ";//", "://", $url );
     
            /* If the URL doesn't appear to contain a scheme, we
             * presume it needs http:// appended (unless a relative
             * link starting with / or a php file).
             */
            if(
                strpos( $url, ":" ) === false
                && substr( $url, 0, 1 ) != "/"
                && !preg_match( "|^[a-z0-9-]+?.php|i", $url )
            ) {
                $url = "http://{$url}";
            }
     
            // Replace ampersans and single quotes
            $url = preg_replace( "|&([^#])(?![a-z]{2,8};)|", "&$1", $url );
            $url = str_replace( "'", "'", $url );
     
            return $url;
        }
     
        public function transform( $text ) {
            $text = " {$text}";
     
            $text = preg_replace_callback(
                '#(?])(\()?([\w]+?://(?:[\w\\x80-\\xff\#$%&~/\-=?@\[\](+]|[.,;:](?![\s<])|(?(1)\)(?![\s<])|\)))*)#is',
                array( 'MakeItLink', '_link_www' ),
                $text
            );
     
            $text = preg_replace( '#(]+?>|>))]+?>([^>]+?)#i', "$1$3", $text )
Chris Wherley

Chromebook Classroom Management Console webinar - YouTube - 0 views

  •  
    Live Demo of Google Apps management of Chrome OS starts around 22:30 into the presentation
1 - 20 of 120 Next › Last »
Showing 20 items per page
Join this group
Move to top