spacecp_relatekw.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <?php
  2. /**
  3. * [Discuz!] (C)2001-2099 Comsenz Inc.
  4. * This is NOT a freeware, use is subject to license terms
  5. *
  6. * $Id: spacecp_relatekw.php 6752 2010-03-25 08:47:54Z cnteacher $
  7. */
  8. if(!defined('IN_DISCUZ')) {
  9. exit('Access Denied');
  10. }
  11. if(!$_G['setting']['headercharset']) {
  12. @header('Content-Type: text/html; charset='.CHARSET);
  13. }
  14. $_G['inajax'] = 1;
  15. $subjectenc = rawurlencode(strip_tags($_GET['subjectenc']));
  16. $messageenc = rawurlencode(strip_tags(preg_replace("/\[.+?\]/U", '', $_GET['messageenc'])));
  17. $data = @implode('', file("http://keyword.discuz.com/related_kw.html?title=$subjectenc&content=$messageenc&ics={$_G[charset]}&ocs={$_G[charset]}"));
  18. if($data) {
  19. $parser = xml_parser_create();
  20. xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
  21. xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
  22. xml_parse_into_struct($parser, $data, $values, $index);
  23. xml_parser_free($parser);
  24. $kws = array();
  25. foreach($values as $valuearray) {
  26. if($valuearray['tag'] == 'kw' || $valuearray['tag'] == 'ekw') {
  27. if(PHP_VERSION > '5' && CHARSET != 'utf-8') {
  28. $kws[] = diconv(trim($valuearray['value']), 'utf-8');
  29. } else {
  30. $kws[] = trim($valuearray['value']);
  31. }
  32. }
  33. }
  34. $return = '';
  35. if($kws) {
  36. foreach($kws as $kw) {
  37. $kw = dhtmlspecialchars($kw);
  38. $return .= $kw.' ';
  39. }
  40. $return = trim($return);
  41. }
  42. showmessage($return, '', array(), array('msgtype' => 3, 'handle' => false));
  43. } else {
  44. showmessage(' ', '', array(), array('msgtype' => 3, 'handle' => false));
  45. }
  46. ?>