ホームページ >バックエンド開発 >PHPチュートリアル >記事内の内部リンクを置換するPHP機能 PHPキーワード置換(元リンクのシールドと復元機能を含む)

記事内の内部リンクを置換するPHP機能 PHPキーワード置換(元リンクのシールドと復元機能を含む)

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

  2. * PHP代替文章内链
  3. * by bbs.it-home.org
  4. */
  5. function _base64_encode($t,$str) {
  6. return $t.""".base64_encode($str).""";
  7. }
  8. function _base64_decode($t,$str) {
  9. return $t.""".base64_decode($str).""";
  10. }

  11. function _keylinks($txt, $replacenum = '',$link_mode = 1) {

  12. /* シールド原始の a */
  13. $replace_a = "_base64_encode('ori_a=', '\0')";
  14. $replace1_a = "stripslashes(base64_decode('\1'))";
  15. $search_a = "/.*?/isxe";
  16. $search1_a = "/ori_a=(".*?")/isxe";
  17. $txt = preg_replace($search_a, $replace_a, $txt);

  18. /* 屏蔽alt title src */

  19. $search = "/(alts*=s*|titles*=s*|srcs*=s*) # find (["'])?(. *?) # 一重引用符または二重引用符を検索します
  20. (?(2)\2|s+?) # 引用符が見つかった場合は、次の一致するものと一致します
  21. # 引用符、それ以外の場合は次のスペースと一致します
  22. /isxe";
  23. $replace = "_base64_encode('\1','\3')";
  24. $replace1 = "_base64_decode('\1','\3')";
  25. $txt = preg_replace($search, $replace, $txt);
  26. echo $txt;
  27. echo "
    http://bbs.it-home.org/



    ";
  28. /*
  29. $keywords = $this->data['keywords'];
  30. if($keywords) $keywords = strpos(',',$keywords) === false ?explode(' ',$keywords) :explode(',', $keywords);
  31. if($link_mode && !empty($keywords)) {
  32. foreach($keywords as $keyword) {
  33. $linkdatas[] = $keyword;
  34. }
  35. } else {
  36. $linkdatas = getcache(' keylink','commons');
  37. }
  38. if($linkdatas) {
  39. $word = $replacement = array();
  40. foreach($linkdatas as $v) {
  41. if($link_mode && $keywords) {
  42. $ word1[] = '/'.preg_quote($v, '/').'/';
  43. $word2[] = $v;
  44. $replacement[] = ''.$v.'';
  45. } else {
  46. $word1[] = '/'.preg_quote($v[0], '/ ').'/';
  47. $word2[] = $v[0];
  48. $replacement[] = ''.$v[0].'';
  49. }
  50. }
  51. if($replacenum != '') {
  52. $txt = preg_replace($word1, $replacement, $txt , $replacenum);
  53. } else {
  54. $txt = str_replace($word2, $replacement, $txt);
  55. }
  56. }
  57. */
  58. /* 还原始 a */
  59. $txt = preg_replace($search1_a, $replace1_a, $txt);
  60. /* 还原alt title src */
  61. $txt = preg_replace($search, $replace1, $txt);
  62. echo $txt;
  63. return $txt;
  64. }
  65. $con = "

      性生活過敏性前腺。と美の性生活、それは男女性生理の日生活に欠かせない重要な要素です。逆に、XZLOVEの時間が長ければ長いほど、その人の性生活や健康は、XZLOVEの時間の長さによって決まるわけではないことに注意してください。

  66. 性生活过度害前列

    ";

  67. _keylinks($con );

  68. ?>

复制代


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