2009-05-21 7 views
0

J'ai un blog WordPress et plusieurs auteurs. Je souhaite supprimer automatiquement certaines URL de site Web de mon contenu de blog. Par exemple, je ne veux pas d'URL myspace dans le contenu de la publication, non seulement myspace.com que myspace.com/whatever ou myspace.com/faq.html. Est-ce possible de le faire avec du code PHP ou d'ajouter du code au fichier .htaccess?enlever des urls du site donné du contenu

Merci.

Répondre

4

.htaccess ne peut pas vous aider ici.

Vous devriez pouvoir jeter ensemble un plugin assez basique, quelque chose comme ceci:

add_filter('the_content', 'myspace_url_filter', 999); 

function myspace_url_filter($content) { 
    return preg_replace('/(<a[^>]href=["'])[^"']+myspace.com[^"']+["']/', '\1#"', $content); 
} 

Notez que c'est pas une expression régulière parfaite; il peut trivialement être éludé en remplaçant le nom de domaine myspace par un myspace IP (bonne chance en parcourant toutes les IP publiques qu'ils utilisent ...), les techniques XSS courantes, l'utilisation de n'importe quel service de redirection d'URL comme tinyURL (pour attraper ça, vous ' d devoir suivre chaque lien, et toutes les redirections), ou simplement lier à une page qui contient le lien en question (par exemple une page d'aperçu tinyURL). En bref, toute contre-mesure technique que vous pouvez concevoir peut être facilement vaincue, et même les solutions de contournement les plus simples peuvent nécessiter un travail extrêmement compliqué de votre part. Il peut être plus simple de parler à vos auteurs, de clarifier vos désirs, et de discipliner tout auteur qui refuse d'obéir à votre règle «pas de liens myspace».