ホームページ  >  記事  >  バックエンド開発  >  PHP は HTML 内の Web サイトのリンクをフィルタリングします。PHP はドメイン名のホワイトリスト機能を実装します。

PHP は HTML 内の Web サイトのリンクをフィルタリングします。PHP はドメイン名のホワイトリスト機能を実装します。

WBOY
WBOYオリジナル
2016-07-25 08:53:221270ブラウズ
  1. /**

  2. * 外部サイトリンクをフィルタリングします
  3. * @param array $local_domain このサイトのドメイン名配列
  4. * @param string $message text content
  5. */
  6. function replace_outer_links($local_domain_arr, $message) {

  7. $pattern= '/< ;[^>]*href=['"]http[s]?://(?!' ;

  8. $i = 0 ;
  9. foreach ($local_domain_arr as $local_domain){
  10. if($i==0 ){
  11. $pattern .= 'www.' .$local_domain.'|'.$local_domain '|[w_]+.'.$local_domain ;
  12. $pattern .= '|www.' local_domain.'|'.$local_domain.'|[w_]+.'.$local_domain ;
  13. }
  14. $i++
  15. } // bbs.it-home.org
  16. $pattern .=')[^'^" ]*['"][^>]*>(.+?)/is';
  17. return preg_replace($pattern,'$1',$message);
  18. }

复制代

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。