Project

General

Profile

SnipPets » History » Revision 5

Revision 4 (Simon, 01/20/2011 11:50 AM) → Revision 5/7 (Simon, 01/20/2011 12:07 PM)

= Snippets =  

 == 15 usefull regex == 
 http://www.catswhocode.com/blog/15-php-regular-expressions-for-web-developers 

  


 == Convert relative to absolute URL == 

 '''Certainly the best and safer way''' 
  - http://nadeausoftware.com/node/79 

 '''the way it simply works'''[[BR]] 

  - from http://www.howtoforge.com/forums/showthread.php?t=4 
 {{{ 
 function absolute_url($txt, $base_url){ 
   $needles = array('href="', 'src="', 'background="'); 
   $new_txt = ''; 
   if(substr($base_url,-1) != '/') $base_url .= '/'; 
   $new_base_url = $base_url; 
   $base_url_parts = parse_url($base_url); 

   foreach($needles as $needle){ 
     while($pos = strpos($txt, $needle)){ 
       $pos += strlen($needle); 
       if(substr($txt,$pos,7) != 'http://' && substr($txt,$pos,8) != 'https://' && substr($txt,$pos,6) != 'ftp://' && substr($txt,$pos,9) != 'mailto://'){ 
         if(substr($txt,$pos,1) == '/') $new_base_url = $base_url_parts['scheme'].'://'.$base_url_parts['host']; 
         $new_txt .= substr($txt,0,$pos).$new_base_url; 
       } else { 
         $new_txt .= substr($txt,0,$pos); 
       } 
       $txt = substr($txt,$pos); 
     } 
     $txt = $new_txt.$txt; 
     $new_txt = ''; 
   } 
   return $txt; 
 }   
 }}} 


 == Remove trailing whitespaces == 

 http://jimbojw.com/wiki/index.php?title=How_to_find_PHP_files_with_trailing_whitespace 

 '''Command Line :'''  
 {{{ 
 echo '<?php foreach (glob("**/*.php") as $file){if (preg_match( "/\\?".">\\s\\s+\\Z/m", file_get_contents($file))) echo("$file\n");} ?>' | php 
 }}} 


 '''PHP file script :''' 
 {{{ 
 <?php 
 foreach (glob('**/*.php') as $file){ 
   if (preg_match('/\\?'.'>\\s\\s+\\Z/m',file_get_contents($file))) 
     echo("$file\n"); 
 } 
 ?> 
 }}} 


 == Remove .svn folders under Windows == 

 {{{ 
 for /r repository %f in (.svn) do rd /S /Q "%f" 
 }}} 

 from : http://www.jonathan-petitcolas.com/fr/supprimer-recursivement-les-dossiers-svn-sous-windows/ 

 == Ignore specific subfolders in .htaccess (URL rewrite) ==  


 '''Method 1 :''' 
 {{{ 
   RewriteEngine on 
   # 
   # stuff to let through (ignore) 
   RewriteCond %{REQUEST_URI} "/folder1/" [OR] 
   RewriteCond %{REQUEST_URI} "/folder2/" 
   RewriteRule (.*) $1 [L] 
   # 
 }}} 

 '''Method 2 :''' 
 {{{ 
 RewriteEngine On 
 RewriteBase / 
 Rewritecond    %{REQUEST_URI} !^/linea21/.*$ [NC] 
 RewriteCond %{REQUEST_FILENAME} !-f 
 RewriteCond %{REQUEST_FILENAME} !-d 
 RewriteRule . /index.php [L] 
 }}} 

 (Ignore rules for ''linea21'' sub-folder)