{"id":123,"date":"2022-12-01T10:52:02","date_gmt":"2022-12-01T02:52:02","guid":{"rendered":"http:\/\/192.168.1.126\/tom_wp\/?p=123"},"modified":"2022-12-22T09:49:15","modified_gmt":"2022-12-22T01:49:15","slug":"%e6%96%b0%e5%a2%9e-%e4%bf%ae%e6%94%b9-%e5%88%aa%e9%99%a4-%e6%9f%a5%e8%a9%a2","status":"publish","type":"post","link":"https:\/\/tomstudio.my.to\/?p=123","title":{"rendered":"\u65b0\u589e \u4fee\u6539 \u522a\u9664 \u67e5\u8a62"},"content":{"rendered":"\n<!--more-->\n\n\n\n<script src=\"https:\/\/code.jquery.com\/jquery-3.6.0.min.js\" integrity=\"sha256-\/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej\/m4=\" crossorigin=\"anonymous\"><\/script>\n<link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@3.3.7\/dist\/css\/bootstrap.min.css\" integrity=\"sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz\/K68vbdEjh4u\" crossorigin=\"anonymous\">\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@3.3.7\/dist\/js\/bootstrap.min.js\" integrity=\"sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa\" crossorigin=\"anonymous\"><\/script>\n\n\n<!-- Modal -->\n<div class=\"modal fade\" id=\"myModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\" data-backdrop=\"static\">\n  <div class=\"modal-dialog modal-md\">\n    <div class=\"modal-content\">\n      <div class=\"modal-header\">\n        <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span style=\"font-size: 3rem;\" aria-hidden=\"true\">\u00d7<\/span><\/button>\n        <span class=\"modal-title\" style=\"font-size: 2rem;\" id=\"myModalLabel\">\u8a0a\u606f<\/span>\n      <\/div>\n      <div class=\"modal-body\">\n          <div>\n            <textarea class=\"form-control\" id=\"message-text\" rows=\"3\"><\/textarea>\n          <\/div>\n      <\/div>\n      <div class=\"modal-footer\">\n        <button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\">\u95dc\u9589<\/button>\n        <button type=\"button\" class=\"btn btn-primary\" id=\"send_msg\">\u9001\u51fa<\/button>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/div>\n<!-- \/modal -->\n\n<button class=\"btn btn-primary\" data-toggle=\"modal\" data-target=\"#myModal\" data-whatever=\"\u65b0\u589e\" data-fun=\"a\">\u65b0\u589e<\/button>\n\n<div id=\"msgtable\"><\/div>\n\n\n\n<script type=\"text\/javascript\">\n\nvar page;\nvar show;\nvar num;\nvar page_id;\nvar num_range;\nvar tmp_page_id;\n\n$(function() {\n\tpage=0;\n\tshow=5;\n\tpage_id=0;\n\tnum_range=5;\n\t$(\"#msgtable\").html(\"\");\n\tvar jqxhr = $.post( \".\/tom_msg_view.php\",{page:page,show:show}, function(data ) {\n\t\t\/\/alert( \"success\");\n\t\t\/\/console.log(data);\n\t\tvar data_obj=$.parseJSON(data);\n\t\tCreatMsgHtml(data_obj);\n\t})\n\n\t.fail(function() {\n\t\talert( \"error\" );\n\t});\n\n});\n\nfunction reloadmsgtable(){\n\n\t$(\"#msgtable\").html(\"\");\n\tvar jqxhr = $.post( \".\/tom_msg_view.php\",{page:page,show:show}, function(data ) {\n\t\t\/\/alert( \"success\");\n\t\t\/\/console.log(data);\n\t\tvar data_obj=$.parseJSON(data);\n\t\tCreatMsgHtml(data_obj);\n\t})\n\n\t.fail(function() {\n\t\talert( \"error\" );\n\t});\n}\n\n\/\/\u8868\u60c5\u7b26\u865f==============\nvar modal_button_fun;\nvar modal_button_msgid;\n\nvar emoji_range = [\n  '[\\u2764\\uFE0F]',\n  '[\\u2694-\\u2697]',\n  '[\\u2580-\\u27BF]',\n  '[\\u2700-\\u27BF]',\n  '[\\uE000-\\uF8FF]',\n  '[\\u2011-\\u26FF]',\n  '\\uD83E[\\uDD10-\\uDD5D]',\n  '\\uD83C[\\uDF00-\\uDFFF]',\n  '\\uD83D[\\uDC00-\\uDFFF]',\n  '\\uD83D[\\uDC00-\\uDE4F]',\n  '\\uD83D[\\uDE80-\\uDEFF]',\n  '\\uD83E[\\uDD10-\\uDDFF]',\n];\n\nfunction utf2Html(str) {\n  return [...str].map((char) => char.codePointAt() > 127 ? `&#${char.codePointAt()};` : char).join('');\n}\n\nfunction show_emoji(content){\n\t\tvar tmp_input=content.match(new RegExp(emoji_range.join('|'), 'g'));\n\t\t\n\t\t\/\/console.log(tmp_input+\"---tmp_input\");\n\t\tif(tmp_input){\n\t\t\tvar count=content.match(new RegExp(emoji_range.join('|'), 'g') || []).length;\n\t\t}else{\n\t\t\tvar count=0;\n\t\t}\n\t\t\n\t\t\/\/console.log(count+\"---count\");\n\t\t\n\t\tvar i=0;\n\t\twhile (i < count){\n\t\t\tcontent = content.replace(tmp_input[i], utf2Html(tmp_input[i]));\n\t\t\t\/\/console.log(i+\"---i\");\n\t\t\ti++;\n\t\t}\n\t\t\n\t\treturn content;\n\t\t\/\/console.log(content+\"---content\");\n}\n\n\/\/\u5b57\u4e32\u8f49\u63db\u9023\u7d50\nconst urlify = (text) => { \n  const urlRegex = \/(\\b(https?|ftp|file):\\\/\\\/[-A-Z0-9+&@#\\\/%?=~_|!:,.;]*[-A-Z0-9+&@#\\\/%=~_|])\/ig; \n  return text.replace(urlRegex, (url) => { \n    return '<a href=\"'+url+'\" target=\"_blank\">'+url+'<\/a>'; \n  }) \n} \n\n\n\n$( \"#send_msg\" ).click(function() {\n\t\n\tif(modal_button_fun==\"a\" ){\/\/\u65b0\u589e\n\t\tif(!$( \"#message-text\" ).val()){\n\t\t\talert(\"\u8acb\u8f38\u5165\u8a0a\u606f\uff01\");\n\t\t\treturn;\n\t\t};\n\t\t\n\t\tvar content=$( \"#message-text\" ).val();\n\t\t\n\t\tvar jqxhr = $.post( \".\/tom_msg_afd.php\",{ fun:modal_button_fun,msg:show_emoji(content)}, function(data ) {\n\t\t\t\/\/alert( \"success\");\n\t\t\t\/\/console.log(\"add=\"+data);\n\t\t\t\/\/window.location.reload();\n\t\t\treloadmsgtable();\n\t\t\t$('#myModal').modal('hide');\n\t\t})\n\n\t\t.fail(function() {\n\t\t\talert( \"error\" );\n\t\t});\n\t}\n\n\tif(modal_button_fun==\"f\" ){\/\/\u4fee\u6539\n\n\t\tvar content=$( \"#message-text\" ).val();\n\t\t\n\t\tvar jqxhr = $.post( \".\/tom_msg_afd.php\/\",{ fun:modal_button_fun,msgid:modal_button_msgid,msg:show_emoji(content)}, function(data ) {\n\t\t\t\/\/alert( \"success\");\n\t\t\tconsole.log(\"fix=\"+data);\n\t\t\t\/\/window.location.reload();\n\t\t\treloadmsgtable();\n\t\t\t$('#myModal').modal('hide');\n\t\t})\n\n\t\t.fail(function() {\n\t\t\talert( \"error\" );\n\t\t});\n\t}\n\t\n\tif(modal_button_fun==\"d\" ){\/\/\u522a\u9664\n\t\t\n\t\tvar jqxhr = $.post( \".\/tom_msg_afd.php\/\",{ fun:modal_button_fun,msgid:modal_button_msgid}, function(data ) {\n\t\t\t\/\/alert( \"success\");\n\t\t\t\/\/console.log(\"success=\"+data);\n\t\t\t\/\/window.location.reload();\n\t\t\treloadmsgtable();\n\t\t\t$('#myModal').modal('hide');\n\t\t})\n\n\t\t.fail(function() {\n\t\t\talert( \"error\" );\n\t\t});\n\t}\n\n});\n\n\n$('#myModal').on('show.bs.modal', function (event) {\n\tvar button = $(event.relatedTarget); \/\/ Button that triggered the modal\n\tvar recipient = button.data('whatever'); \/\/ Extract info from data-* attributes\n\tmodal_button_fun=button.data('fun');\n\tmodal_button_msgid=button.data('msgid');\n\t\/\/console.log($(\"#msg_\"+modal_button_msgid).html());\n\n\tvar modal = $(this);\n\tmodal.find('.modal-title').text(recipient);\n\t\n\t\/\/\u521d\u59cb\u5316$( \"#send_msg\" ) \u6309\u9215\n\t$( \"#send_msg\" ).addClass(\"btn btn-primary\");\n\t$( \"#send_msg\" ).text(\"\u9001\u51fa\");\n\tmodal.find('textarea').val(\"\");\n\tmodal.find('textarea').prop(\"disabled\", false);\n\t\n\tif(modal_button_fun==\"f\"){\/\/\u4fee\u6539\n\t\t$( \"#send_msg\" ).addClass(\"btn btn-primary\");\n\t\t$( \"#send_msg\" ).text(\"\u9001\u51fa\");\n\t\tmodal.find('textarea').val($(\"#msg_\"+modal_button_msgid).text());\n\t}\n\t\n\tif(modal_button_fun==\"d\"){\/\/\u522a\u9664\n\t\t$( \"#send_msg\" ).addClass(\"btn btn-primary\");\n\t\t$( \"#send_msg\" ).text(\"\u9001\u51fa\");\n\t\tmodal.find('textarea').val($(\"#msg_\"+modal_button_msgid).html());\n\t\tmodal.find('textarea').prop(\"disabled\", true);\n\t}\n});\n\nfunction CreatMsgHtml(jsondata){\n\n\thtml=\"<table class='table table-hover'><thead><tr><th style='text-align: center;'>#<\/th><th style='text-align: center;'>\u8a0a\u606f<\/th>\";\n\thtml+=\"<th style='text-align: center;'>\u4fee\u6539<\/th><th style='text-align: center;'>\u522a\u9664<\/th>\";\n\thtml+=\t\"<\/tr><\/thead><tbody>\";\n\t\n\tfor (var i = 0; i < jsondata.viewdata.length; i++) {\n\t\n\t\tconst txt=jsondata.viewdata[i].msg;\n\t\tconst viewdata_msg = urlify(txt); \n\n\n\t\thtml+=\"<tr><td style='text-align: center;'>\"+(page+i+1)+\"<\/td><td><span id='msg_\"+jsondata.viewdata[i].id+\"' style='font-size: 18px;word-break: break-all;white-space: pre-wrap;'>\"+viewdata_msg+\"<\/span><br><span style='color: darkgray;font-size: 10px;'>\u767c\u4f48\u6642\u9593\uff1a\"+jsondata.viewdata[i].addtime+\"<\/span>\";\n\t\t\n\t\tif(jsondata.viewdata[i].fixtime !== null){\n\t\thtml+=\"<br><span style='color: darkgray;font-size: 10px;'>\u4fee\u6539\u6642\u9593\uff1a\"+jsondata.viewdata[i].fixtime;\n\t\t}\n\t\t\n\t\t\thtml+=\"<\/td><td style='vertical-align: middle;text-align: center;'><button class='btn btn-warning' data-toggle='modal' data-target='#myModal' data-whatever='\u8a0a\u606f\u4fee\u6539' data-fun='f' data-msgid='\"+jsondata.viewdata[i].id+\"'>\u4fee\u6539<\/button><\/td><td style='vertical-align: middle;text-align: center;'><button class='btn btn-danger' data-toggle='modal' data-target='#myModal' data-whatever='\u8a0a\u606f\u522a\u9664' data-fun='d' data-msgid='\"+jsondata.viewdata[i].id+\"'>\u522a\u9664<\/button><\/td>\";\n\t\t\n\t}\n\thtml+=\"<\/tr><\/tbody><\/table>\";\n\thtml+=\"<div style='white-space: nowrap; overflow: auto;'>\t<nav class='text-center'>\t<ul class='pagination' id='msgnavigation'>    <li class='active'>\t<a href='#totallist' aria-label='totallist'>\u5171\"+jsondata.total+\"\u7b46<\/a>\t<\/li><li>      <a href='#lasts' aria-label='lasts'>        <span aria-hidden='true'>\u00ab<\/span>      <\/a>    <\/li><li>      <a href='#last' aria-label='last'>        <span aria-hidden='true'>\u2039<\/span>      <\/a>    <\/li>\";\n\tnum=Math.ceil(jsondata.total\/show);\n\t\n\tif( num > num_range && page_id > 2 ){\n\t\ttmp_page_id = num - num_range;\n\t\ttmp_n = num_range + tmp_page_id;\n\t}else{\n\t\ttmp_page_id = 0;\n\t\tif( num < num_range ){\n\t\t\ttmp_n = num;\n\t\t}else{\n\t\t\ttmp_n = num_range;\n\t\t}\n\t}\n\t\n\tfor (var i = 0 + tmp_page_id; i < tmp_n; i++) {\n\n\t\tif(i==page_id){\n\t\t\thtml+=\"<li class='active'><a id='nav_\"+i+\"' style='cursor:pointer'>\"+(i+1)+\"<span class='sr-only'>(current)<\/span><\/a><\/li>\";\n\t\t}else{\n\t\t\thtml+=\"<li><a id='nav_\"+i+\"' style='cursor:pointer'>\"+(i+1)+\"<\/a><\/li>\";\n\t\t}\n\t}\n\thtml+=\"    <li>      <a href='#next' aria-label='next'>        <span aria-hidden='true'>\u203a<\/span>      <\/a>    <\/li>\t<li>      <a href='#nexts' aria-label='nexts'>        <span aria-hidden='true'>\u00bb<\/span>      <\/a>    <\/li>\t<li class='active'>\t<a href='#total' aria-label='totalpage'>\u5171\"+num+\"\u9801<\/a>\t<\/li><\/ul><\/nav><\/div>\";\n\t$(\"#msgtable\").html(html);\n\n\t\n\t$('#msgnavigation li a').click(function() {\n\t\tvar aria=$(this).attr(\"aria-label\");\n\t\tvar tmp=$(this).attr(\"id\");\n\t\t\n\t\tswitch (aria) {\n\t\t\tcase 'lasts':\n\t\t\t\tpage=0;\n\t\t\t\tpage_id=0;\n\t\t\t\tbreak;\n\t\t\tcase 'last':\n\t\t\t\tif(num>0){\n\t\t\t\t\tpage-=show;\n\t\t\t\t\tpage_id-=1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'next':\n\t\t\t\tif(page_id<num-1){\n\t\t\t\t\tpage+=show;\n\t\t\t\t\tpage_id++;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'nexts':\n\t\t\t\tpage=(num-1)*show;\n\t\t\t\tpage_id=num-1;\n\t\t\t\tbreak;\n\t\t\tcase 'totallist':\n\t\t\t\t\/\/nothing...\n\t\t\t\tbreak;\n\t\t\tcase 'totalpage':\n\t\t\t\t\/\/nothing...\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tpage_id=tmp.slice(4);\n\t\t\t\tpage=page_id*show;\n\t\t}\n\t\t\n\t\tvar jqxhr = $.post( \".\/tom_msg_view.php\",{page:page,show:show}, function(data ) {\n\t\t\tvar data_obj=$.parseJSON(data);\n\t\t\t\/\/console.log(data);\n\t\t\tCreatMsgHtml(data_obj);\n\t\t})\n\n\t\t.fail(function() {\n\t\t\talert( \"error\" );\n\t\t});\n\t\t\n\t});\n}\n\n<\/script>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u65b0\u589e \u4fee\u6539 \u522a\u9664<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">tom_msg_view.php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\n$fun=$_POST&#91;'fun'];\n$msgid=$_POST&#91;'msgid'];\n$msg=$_POST&#91;'msg'];\n\n$now = date('Y-m-d H:i:s');\n\n\n$servername = \"localhost\";\n$username = \"***\";\n$password = \"***\";\n$dbname = \"***\";\n\n$conn = mysqli_connect($servername, $username, $password, $dbname);\n\nif ($conn-&gt;connect_error) {\n  die(\"Connection failed: \" . $conn-&gt;connect_error);\n}\n\n\nif($fun==\"a\"){\/\/\u65b0\u589e\n\t$sql = \"INSERT INTO `tom_wp`.`tom_msg` (`id`, `msg`, `addtime`, `fixtime`, `deltime`, `state`) VALUES (NULL, '\".$msg.\"', '\".$now.\"', NULL, NULL, '1');\";\n\t$conn-&gt;query($sql);\n};\n\nif($fun==\"f\"){\/\/\u4fee\u6539\n\t$sql = \"UPDATE `tom_wp`.`tom_msg` SET `msg`= '\".$msg.\"',`fixtime` ='\".$now.\"' WHERE `id`=\".$msgid.\" \";\n\t$conn-&gt;query($sql);\n};\n\nif($fun==\"d\"){\/\/\u522a\u9664\n\t$sql = \"UPDATE `tom_wp`.`tom_msg` SET `state`= '0',`deltime` ='\".$now.\"' WHERE `id`=\".$msgid.\" \";\n\t$conn-&gt;query($sql);\n};\n\n?&gt;<\/code><\/pre>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u6488\u8cc7\u6599\u986f\u793a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">tom_msg_view.php<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?php\n\n$page=$_POST&#91;'page'];\n$show=$_POST&#91;'show'];\n\n$servername = \"localhost\";\n$username = \"***\";\n$password = \"***\";\n$dbname = \"***\";\n\n$conn = mysqli_connect($servername, $username, $password, $dbname);\n\nif ($conn-&gt;connect_error) {\n  die(\"Connection failed: \" . $conn-&gt;connect_error);\n}\n\/\/echo \"success\";\n\n$sql = \"SELECT count(*) FROM `tom_wp`.`tom_msg` AS a WHERE `state` = 1 ORDER BY a.`addtime` DESC\";\n\n$result = mysqli_query($conn,$sql);\n$total = mysqli_fetch_row($result);\n\n\/\/echo $total.\"&lt;br&gt;\";\n\n$list-&gt;total = $total;\n\n$sql = \"SELECT * FROM `tom_wp`.`tom_msg` AS a WHERE `state` = 1 ORDER BY a.`addtime` DESC LIMIT \".$page.\", \".$show.\" \";\nif ($result = mysqli_query($conn, $sql)) {\n\n  while ($obj = mysqli_fetch_object($result)) {\n\n\t  $list-&gt;viewdata&#91;]=$obj;\n\n  }\n  \n  mysqli_free_result($result);\n}\n\necho json_encode($list);\n\n\n?&gt;<\/code><\/pre>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">html\u65bc\u5ba2\u7aef\u986f\u793a\u8ddf\u52d5\u4f5c<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;script src=\"https:\/\/code.jquery.com\/jquery-3.6.0.min.js\" integrity=\"sha256-\/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej\/m4=\" crossorigin=\"anonymous\">&lt;\/script>\n&lt;link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@3.3.7\/dist\/css\/bootstrap.min.css\" integrity=\"sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz\/K68vbdEjh4u\" crossorigin=\"anonymous\">\n&lt;script src=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap@3.3.7\/dist\/js\/bootstrap.min.js\" integrity=\"sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa\" crossorigin=\"anonymous\">&lt;\/script>\n\n\n&lt;!-- Modal -->\n&lt;div class=\"modal fade\" id=\"myModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\" data-backdrop=\"static\">\n  &lt;div class=\"modal-dialog modal-md\">\n    &lt;div class=\"modal-content\">\n      &lt;div class=\"modal-header\">\n        &lt;button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">&lt;span style=\"font-size: 3rem;\" aria-hidden=\"true\">\u00d7&lt;\/span>&lt;\/button>\n        &lt;span class=\"modal-title\" style=\"font-size: 2rem;\" id=\"myModalLabel\">\u8a0a\u606f&lt;\/span>\n      &lt;\/div>\n      &lt;div class=\"modal-body\">\n          &lt;div>\n            &lt;textarea class=\"form-control\" id=\"message-text\" rows=\"3\">&lt;\/textarea>\n          &lt;\/div>\n      &lt;\/div>\n      &lt;div class=\"modal-footer\">\n        &lt;button type=\"button\" class=\"btn btn-default\" data-dismiss=\"modal\">\u95dc\u9589&lt;\/button>\n        &lt;button type=\"button\" class=\"btn btn-primary\" id=\"send_msg\">\u9001\u51fa&lt;\/button>\n      &lt;\/div>\n    &lt;\/div>\n  &lt;\/div>\n&lt;\/div>\n&lt;!-- \/modal -->\n\n&lt;button class=\"btn btn-primary\" data-toggle=\"modal\" data-target=\"#myModal\" data-whatever=\"\u65b0\u589e\" data-fun=\"a\">\u65b0\u589e&lt;\/button>\n\n&lt;div id=\"msgtable\">&lt;\/div>\n\n\n\n&lt;script type=\"text\/javascript\">\n\nvar page;\nvar show;\nvar num;\nvar page_id;\nvar num_range;\nvar tmp_page_id;\n\n\/\/\u9801\u9762\u8f09\u5165\u5f8c\u5148\u6488\u4e00\u6b21\u8cc7\u6599==============\n$(function() {\n\t\/\/\u8a2d\u5b9a\u63db\u9801\u53c3\u6578==============\n\tpage=0;\n\tshow=5;\n\tpage_id=0;\n\tnum_range=5;\n\treloadmsgtable();\n\n});\n\n\/\/\u6488\u8cc7\u6599==============\nfunction reloadmsgtable(){\n\n\t$(\"#msgtable\").html(\"\");\n\tvar jqxhr = $.post( \"http:\/\/192.168.1.126\/tom_wp\/tom_msg_view.php\",{page:page,show:show}, function(data ) {\n\t\t\/\/alert( \"success\");\n\t\t\/\/console.log(data);\n\t\tvar data_obj=$.parseJSON(data);\n\t\tCreatMsgHtml(data_obj);\n\t})\n\n\t.fail(function() {\n\t\talert( \"error\" );\n\t});\n}\n\n\/\/\u8868\u60c5\u7b26\u865f==============\nvar modal_button_fun;\nvar modal_button_msgid;\n\nvar emoji_range = &#91;\n  '&#91;\\u2764\\uFE0F]',\n  '&#91;\\u2694-\\u2697]',\n  '&#91;\\u2580-\\u27BF]',\n  '&#91;\\u2700-\\u27BF]',\n  '&#91;\\uE000-\\uF8FF]',\n  '&#91;\\u2011-\\u26FF]',\n  '\\uD83E&#91;\\uDD10-\\uDD5D]',\n  '\\uD83C&#91;\\uDF00-\\uDFFF]',\n  '\\uD83D&#91;\\uDC00-\\uDFFF]',\n  '\\uD83D&#91;\\uDC00-\\uDE4F]',\n  '\\uD83D&#91;\\uDE80-\\uDEFF]',\n  '\\uD83E&#91;\\uDD10-\\uDDFF]',\n];\n\nfunction utf2Html(str) {\n  return &#91;...str].map((char) => char.codePointAt() > 127 ? `&amp;#${char.codePointAt()};` : char).join('');\n}\n\nfunction show_emoji(content){\n\t\tvar tmp_input=content.match(new RegExp(emoji_range.join('|'), 'g'));\n\t\t\n\t\t\/\/console.log(tmp_input+\"---tmp_input\");\n\t\tif(tmp_input){\n\t\t\tvar count=content.match(new RegExp(emoji_range.join('|'), 'g') || &#91;]).length;\n\t\t}else{\n\t\t\tvar count=0;\n\t\t}\n\t\t\n\t\t\/\/console.log(count+\"---count\");\n\t\t\n\t\tvar i=0;\n\t\twhile (i &lt; count){\n\t\t\tcontent = content.replace(tmp_input&#91;i], utf2Html(tmp_input&#91;i]));\n\t\t\t\/\/console.log(i+\"---i\");\n\t\t\ti++;\n\t\t}\n\t\t\n\t\treturn content;\n\t\t\/\/console.log(content+\"---content\");\n}\n\n\/\/\u5b57\u4e32\u8f49\u63db\u9023\u7d50\nconst urlify = (text) => { \n  const urlRegex = \/(\\b(https?|ftp|file):\\\/\\\/&#91;-A-Z0-9+&amp;@#\\\/%?=~_|!:,.;]*&#91;-A-Z0-9+&amp;@#\\\/%=~_|])\/ig; \n  return text.replace(urlRegex, (url) => { \n    return '&lt;a href=\"'+url+'\" target=\"_blank\">'+url+'&lt;\/a>'; \n  }) \n} \n\n\n\n$( \"#send_msg\" ).click(function() {\n\t\n\tif(modal_button_fun==\"a\" ){\/\/\u65b0\u589e\n\t\tif(!$( \"#message-text\" ).val()){\n\t\t\talert(\"\u8acb\u8f38\u5165\u8a0a\u606f\uff01\");\n\t\t\treturn;\n\t\t};\n\t\t\n\t\tvar content=$( \"#message-text\" ).val();\n\t\t\n\t\tvar jqxhr = $.post( \"http:\/\/192.168.1.126\/tom_wp\/tom_msg_afd.php\",{ fun:modal_button_fun,msg:show_emoji(content)}, function(data ) {\n\t\t\t\/\/alert( \"success\");\n\t\t\t\/\/console.log(\"add=\"+data);\n\t\t\t\/\/window.location.reload();\n\t\t\treloadmsgtable();\n\t\t\t$('#myModal').modal('hide');\n\t\t})\n\n\t\t.fail(function() {\n\t\t\talert( \"error\" );\n\t\t});\n\t}\n\n\tif(modal_button_fun==\"f\" ){\/\/\u4fee\u6539\n\n\t\tvar content=$( \"#message-text\" ).val();\n\t\t\n\t\tvar jqxhr = $.post( \"http:\/\/192.168.1.126\/tom_wp\/tom_msg_afd.php\/\",{ fun:modal_button_fun,msgid:modal_button_msgid,msg:show_emoji(content)}, function(data ) {\n\t\t\t\/\/alert( \"success\");\n\t\t\tconsole.log(\"fix=\"+data);\n\t\t\t\/\/window.location.reload();\n\t\t\treloadmsgtable();\n\t\t\t$('#myModal').modal('hide');\n\t\t})\n\n\t\t.fail(function() {\n\t\t\talert( \"error\" );\n\t\t});\n\t}\n\t\n\tif(modal_button_fun==\"d\" ){\/\/\u522a\u9664\n\t\t\n\t\tvar jqxhr = $.post( \"http:\/\/192.168.1.126\/tom_wp\/tom_msg_afd.php\/\",{ fun:modal_button_fun,msgid:modal_button_msgid}, function(data ) {\n\t\t\t\/\/alert( \"success\");\n\t\t\t\/\/console.log(\"success=\"+data);\n\t\t\t\/\/window.location.reload();\n\t\t\treloadmsgtable();\n\t\t\t$('#myModal').modal('hide');\n\t\t})\n\n\t\t.fail(function() {\n\t\t\talert( \"error\" );\n\t\t});\n\t}\n\n});\n\n\/\/Modal==============\n$('#myModal').on('show.bs.modal', function (event) {\n\tvar button = $(event.relatedTarget); \/\/ Button that triggered the modal\n\tvar recipient = button.data('whatever'); \/\/ Extract info from data-* attributes\n\tmodal_button_fun=button.data('fun');\n\tmodal_button_msgid=button.data('msgid');\n\t\/\/console.log($(\"#msg_\"+modal_button_msgid).html());\n\n\tvar modal = $(this);\n\tmodal.find('.modal-title').text(recipient);\n\t\n\t\/\/\u521d\u59cb\u5316$( \"#send_msg\" ) \u6309\u9215\n\t$( \"#send_msg\" ).addClass(\"btn btn-primary\");\n\t$( \"#send_msg\" ).text(\"\u9001\u51fa\");\n\tmodal.find('textarea').val(\"\");\n\tmodal.find('textarea').prop(\"disabled\", false);\n\t\n\tif(modal_button_fun==\"f\"){\/\/\u4fee\u6539\n\t\t$( \"#send_msg\" ).addClass(\"btn btn-primary\");\n\t\t$( \"#send_msg\" ).text(\"\u9001\u51fa\");\n\t\tmodal.find('textarea').val($(\"#msg_\"+modal_button_msgid).text());\n\t}\n\t\n\tif(modal_button_fun==\"d\"){\/\/\u522a\u9664\n\t\t$( \"#send_msg\" ).addClass(\"btn btn-primary\");\n\t\t$( \"#send_msg\" ).text(\"\u9001\u51fa\");\n\t\tmodal.find('textarea').val($(\"#msg_\"+modal_button_msgid).html());\n\t\tmodal.find('textarea').prop(\"disabled\", true);\n\t}\n});\n\n\/\/\u5448\u73fe\u8cc7\u6599\u8868==============\nfunction CreatMsgHtml(jsondata){\n\n\thtml=\"&lt;table class='table table-hover'>&lt;thead>&lt;tr>&lt;th style='text-align: center;'>#&lt;\/th>&lt;th style='text-align: center;'>\u8a0a\u606f&lt;\/th>\";\n\thtml+=\"&lt;th style='text-align: center;'>\u4fee\u6539&lt;\/th>&lt;th style='text-align: center;'>\u522a\u9664&lt;\/th>\";\n\thtml+=\t\"&lt;\/tr>&lt;\/thead>&lt;tbody>\";\n\t\n\tfor (var i = 0; i &lt; jsondata.viewdata.length; i++) {\n\t\n\t\tconst txt=jsondata.viewdata&#91;i].msg;\n\t\tconst viewdata_msg = urlify(txt); \n\n\n\t\thtml+=\"&lt;tr>&lt;td style='text-align: center;'>\"+(page+i+1)+\"&lt;\/td>&lt;td>&lt;span id='msg_\"+jsondata.viewdata&#91;i].id+\"' style='font-size: 18px;word-break: break-all;white-space: pre-wrap;'>\"+viewdata_msg+\"&lt;\/span>&lt;br>&lt;span style='color: darkgray;font-size: 10px;'>\u767c\u4f48\u6642\u9593\uff1a\"+jsondata.viewdata&#91;i].addtime+\"&lt;\/span>\";\n\t\t\n\t\tif(jsondata.viewdata&#91;i].fixtime !== null){\n\t\thtml+=\"&lt;br>&lt;span style='color: darkgray;font-size: 10px;'>\u4fee\u6539\u6642\u9593\uff1a\"+jsondata.viewdata&#91;i].fixtime;\n\t\t}\n\t\t\n\t\t\thtml+=\"&lt;\/td>&lt;td style='vertical-align: middle;text-align: center;'>&lt;button class='btn btn-warning' data-toggle='modal' data-target='#myModal' data-whatever='\u8a0a\u606f\u4fee\u6539' data-fun='f' data-msgid='\"+jsondata.viewdata&#91;i].id+\"'>\u4fee\u6539&lt;\/button>&lt;\/td>&lt;td style='vertical-align: middle;text-align: center;'>&lt;button class='btn btn-danger' data-toggle='modal' data-target='#myModal' data-whatever='\u8a0a\u606f\u522a\u9664' data-fun='d' data-msgid='\"+jsondata.viewdata&#91;i].id+\"'>\u522a\u9664&lt;\/button>&lt;\/td>\";\n\t\t\n\t}\n\thtml+=\"&lt;\/tr>&lt;\/tbody>&lt;\/table>\";\n\thtml+=\"&lt;div style='white-space: nowrap; overflow: auto;'>\t&lt;nav class='text-center'>\t&lt;ul class='pagination' id='msgnavigation'>    &lt;li class='active'>\t&lt;a href='#totallist' aria-label='totallist'>\u5171\"+jsondata.total+\"\u7b46&lt;\/a>\t&lt;\/li>&lt;li>      &lt;a href='#lasts' aria-label='lasts'>        &lt;span aria-hidden='true'>\u00ab&lt;\/span>      &lt;\/a>    &lt;\/li>&lt;li>      &lt;a href='#last' aria-label='last'>        &lt;span aria-hidden='true'>\u2039&lt;\/span>      &lt;\/a>    &lt;\/li>\";\n\t\n\n\t\/\/\u63db\u9801==============\n\tnum=Math.ceil(jsondata.total\/show);\n\t\n\tif( num > num_range &amp;&amp; page_id > 2 ){\n\t\ttmp_page_id = num - num_range;\n\t\ttmp_n = num_range + tmp_page_id;\n\t}else{\n\t\ttmp_page_id = 0;\n\t\tif( num &lt; num_range ){\n\t\t\ttmp_n = num;\n\t\t}else{\n\t\t\ttmp_n = num_range;\n\t\t}\n\t}\n\t\n\tfor (var i = 0 + tmp_page_id; i &lt; tmp_n; i++) {\n\n\t\tif(i==page_id){\n\t\t\thtml+=\"&lt;li class='active'>&lt;a id='nav_\"+i+\"' style='cursor:pointer'>\"+(i+1)+\"&lt;span class='sr-only'>(current)&lt;\/span>&lt;\/a>&lt;\/li>\";\n\t\t}else{\n\t\t\thtml+=\"&lt;li>&lt;a id='nav_\"+i+\"' style='cursor:pointer'>\"+(i+1)+\"&lt;\/a>&lt;\/li>\";\n\t\t}\n\t}\n\thtml+=\"    &lt;li>      &lt;a href='#next' aria-label='next'>        &lt;span aria-hidden='true'>\u203a&lt;\/span>      &lt;\/a>    &lt;\/li>\t&lt;li>      &lt;a href='#nexts' aria-label='nexts'>        &lt;span aria-hidden='true'>\u00bb&lt;\/span>      &lt;\/a>    &lt;\/li>\t&lt;li class='active'>\t&lt;a href='#total' aria-label='totalpage'>\u5171\"+num+\"\u9801&lt;\/a>\t&lt;\/li>&lt;\/ul>&lt;\/nav>&lt;\/div>\";\n\t$(\"#msgtable\").html(html);\n\n\t\n\t$('#msgnavigation li a').click(function() {\n\t\tvar aria=$(this).attr(\"aria-label\");\n\t\tvar tmp=$(this).attr(\"id\");\n\t\t\n\t\tswitch (aria) {\n\t\t\tcase 'lasts':\n\t\t\t\tpage=0;\n\t\t\t\tpage_id=0;\n\t\t\t\tbreak;\n\t\t\tcase 'last':\n\t\t\t\tif(num>0){\n\t\t\t\t\tpage-=show;\n\t\t\t\t\tpage_id-=1;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'next':\n\t\t\t\tif(page_id&lt;num-1){\n\t\t\t\t\tpage+=show;\n\t\t\t\t\tpage_id++;\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase 'nexts':\n\t\t\t\tpage=(num-1)*show;\n\t\t\t\tpage_id=num-1;\n\t\t\t\tbreak;\n\t\t\tcase 'totallist':\n\t\t\t\t\/\/nothing...\n\t\t\t\tbreak;\n\t\t\tcase 'totalpage':\n\t\t\t\t\/\/nothing...\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tpage_id=tmp.slice(4);\n\t\t\t\tpage=page_id*show;\n\t\t}\n\t\t\n\t\tvar jqxhr = $.post( \"http:\/\/192.168.1.126\/tom_wp\/tom_msg_view.php\",{page:page,show:show}, function(data ) {\n\t\t\tvar data_obj=$.parseJSON(data);\n\t\t\t\/\/console.log(data);\n\t\t\tCreatMsgHtml(data_obj);\n\t\t})\n\n\t\t.fail(function() {\n\t\t\talert( \"error\" );\n\t\t});\n\t\t\n\t});\n}\n\n&lt;\/script><\/code><\/pre>\n\n\n\n<div style=\"height:30px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u53c3\u8003\u8cc7\u6599\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.w3schools.com\/php\/func_mysqli_fetch_lengths.asp\">https:\/\/www.w3schools.com\/php\/func_mysqli_fetch_lengths.asp<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/getbootstrap.com\/docs\/3.4\/javascript\/#modals\">https:\/\/getbootstrap.com\/docs\/3.4\/javascript\/#modals<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","footnotes":""},"categories":[11,9,10],"tags":[],"class_list":["post-123","post","type-post","status-publish","format-standard","hentry","category-javascript","category-mysql","category-php"],"_links":{"self":[{"href":"https:\/\/tomstudio.my.to\/index.php?rest_route=\/wp\/v2\/posts\/123","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tomstudio.my.to\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tomstudio.my.to\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tomstudio.my.to\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tomstudio.my.to\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=123"}],"version-history":[{"count":101,"href":"https:\/\/tomstudio.my.to\/index.php?rest_route=\/wp\/v2\/posts\/123\/revisions"}],"predecessor-version":[{"id":711,"href":"https:\/\/tomstudio.my.to\/index.php?rest_route=\/wp\/v2\/posts\/123\/revisions\/711"}],"wp:attachment":[{"href":"https:\/\/tomstudio.my.to\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tomstudio.my.to\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tomstudio.my.to\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}