Information

Pour réduire la taille du code html il est possible de remplacer les chemins absolus par des chemins relatifs.

On peut par exemple supprimer le début de l'url contenant le protocole et le domaine (http://www.domain.tld), remplacer le chemin du répertoire courant par ./, remplacer le chemin du répertoire supérieur par ../, etc

Cette fonction fait ce travaille là. Il suffit de passer en paramètre l'url à raccourcir et l'url de base.

L'url de base correspond à l'url de la page courante (comme dans l'exemple) ou l'url de base si le code HTML contient la balise [<]base href="http://www.domain.tld/unrepertoire/"[>]

  code source classé dans  HTML

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
 24    
 25    
 26    
 27    
 28    
 29    
 30    
 31    
 32    
 33    
 34    
 35    
 36    
 37    
 38    
 39    
 40    
 41    
 42    
 43    
                               
<?php
/*---------------------------------------------------------------*/
/*
    Titre : Réduire en PHP vos urls pour réduire le code HTML                                                           
                                                                                                                          
    URL   : https://phpsources.net/code_s.php?id=497
    Auteur           : forty                                                                                              
    Website auteur   : http://www.toplien.fr/                                                                             
    Date édition     : 24 Fév 2009                                                                                        
    Date mise à jour : 17 Aout 2019                                                                                      
    Rapport de la maj:                                                                                                    
    - fonctionnement du code vérifié                                                                                    
*/
/*---------------------------------------------------------------*/

function lien_relatif($url$url_base) {
  $resultat $url;
  // récupère le répertoire de l'url de base
  $path_point preg_replace('#/[^/]*$#'''$url_base);
  $replace_path_point '.';
  $racine 'http://' $_SERVER['HTTP_HOST'];
  if ($path_point == $racine) {
    $resultat preg_replace('/^' preg_quote($path_point '/''/') . '/'
$replace_path_point '/'$resultat);
  } else {
    while ($path_point != $racine) {
      $resultat preg_replace('/^' preg_quote($path_point '/''/') . '/'
$replace_path_point '/'$resultat);
      $path_point preg_replace('#/[^/]*$#'''$path_point);
      $replace_path_point .= '/..';
    }
    $resultat preg_replace('/^' preg_quote($racine '/''/') . '/''/'
$resultat); //Supprime http://www.domain.tld
  }
  $resultat preg_replace('/^\.\/([^#?])/''\\1'$resultat);  
//remplace ./x par x
  $resultat preg_replace('/^(\.\.?)\/$/''\\1'$resultat);  
//remplace ./ par . et ../ par ..
  return $resultat;
}
?>

Exemple :

 
 01    
 02    
 03    
 04    
 05    
 06    
 07    
 08    
 09    
 10    
 11    
 12    
 13    
 14    
 15    
 16    
 17    
 18    
 19    
 20    
 21    
 22    
 23    
 24    
 25    
 26    
 27    
 28    
 29    
 30    
 31    
 32    
 33    
 34    
 35    
 36    
 37    
 38    
 39    
 40    
 41    
                                
<?php

// détermination de l'url de la page courante sans paramètres
if (isset($_SERVER['SCRIPT_URI'])) {
  $url_courante $_SERVER['SCRIPT_URI'];
} else {
  $uri explode('?'$_SERVER['REQUEST_URI']);
  $url_courante 'http://' $_SERVER['HTTP_HOST'] . $uri[0];
}
?>
<a href="<?php echo lien_relatif('http://www.domain.tld/admin/unepage.html'
$url_courante); ?>">Une page</a>
<a href="<?php echo lien_relatif('http://www.domain.tld/'$url_courante); ?>
">Racine</a>
<a href="<?php echo lien_relatif('http://www.domain.tld/contact.html'
$url_courante); ?>">Contact</a>
<a href="<?php echo lien_relatif('http://www.domain.tld/functions/'
$url_courante); ?>">Toutes les fonctions</a>
<a href="<?php echo lien_relatif(
'http://www.domain.tld/functions/une-fonction.html'$url_courante); ?>
">Une fonction</a>
<a href="<?php echo lien_relatif(
'http://www.domain.tld/functions/otherfunctions/'$url_courante); ?>
">Autres fonctions</a>
<a href="<?php echo lien_relatif(
'http://www.domain.tld/functions/otherfunctions/uneautrefonction2.html'
$url_courante); ?>">Une autre fonction 2</a>
<!--
Si l'url courante est
 http://www.domain.tld/functions/functionsunder/uneautrefonction1.html le
 résultat sera : 

<a href="/admin/unepage.html">Une page</a>
<a href="/">Racine</a>
<a href="/contact.html">Contact</a>
<a href="..">Toutes les fonctions</a>
<a href="../une-fonction.html">Une fonction</a>
<a href=".">Autres fonctions</a>
<a href="uneautrefonction2.html">Une autre fonction 2</a>
-->

         Fonctions du code I Doc officielle PHP

   php.net   Description Versions PHP OUTIL
   echo Affiche une chaîne de caractères PHP 4, PHP 5, PHP 7
   explode Coupe une chaîne en segments PHP 4, PHP 5, PHP 7
   isset Détermine si une variable est affectée PHP 4, PHP 5, PHP 7
   preg_quote Échappement des caractères spéciaux des expressions rationnelles PHP 4, PHP 5, PHP 7
   preg_replace Rechercher et remplacer par expression rationnelle standard PHP 4, PHP 5, PHP 7
   return Retourne le controle du programme au module appelant. PHP 4, PHP 5, PHP 7
 

   Dites merci à l'auteur pour son partage, ça ne coûte rien et ça fait toujours plaisir wink

       Codes qui pourraient vous intéresser *

Vérifie la validité d'un code HTML

Analyse la syntaxe d'un fichier HTML. Retourne un tableau associatif rendant compte des erreurs contenues dans le fichier.

Colorise du code PHP avec validation HTML

Colorise du code PHP et utilise la fonction native de PHP : highlight_string (). Ce script permet de valider la colorisation avec le HTML.

Interprète du code PHP dans un fichier HTML

Et oui ce n'est pas du PHP !! Cela se passe coté serveur. Mettez ces 2 lignes de code dans votre fichier .htaccess pour que vos fichiers .htm et .html soient interprét

* Requêtes exécutées avec Recherche Contextuelle

Suivez PHP Sources sur Twitter !

Créer votre E-boutique Scripts open source

Présentation de PHP

    Derniers scripts PHP / MySQL

WordPress 5.3.1

logo WordPress
Langue langue fr
Date  hier
Taille 13 Mo
Catégorie Blogs

SPIP 3.2.7

logo SPIP
Langue langue fr
Date  hier
Taille 11 Mo
Catégorie CMS

Vtiger 7.2

logo Vtiger
Langue langue fr
Date 12 Déc
Taille 60 Mo
Catégorie CRM

PhpMyChat 1.98

logo phpMyChat
Langue langue us
Date 12 Déc
Taille 7 Mo
Catégorie Chat
+ Liste des derniers scripts complets PHP
avatar

Forty

  24 Fév 2009

  SOURCE   Télécharger

Information sur les mises à jour

Dernière mise à jour :

    17 Aout 2019
    fonctionnement du code vérifié

7 153 Vues
Compatibilité
PHP 5 et 7+