PHP制作百度词典查词采集器_PHP教程

原创
2016-07-13 10:08:31 828浏览

PHP制作百度词典查词采集器


这篇文章主要介绍了PHP制作百度词典查词采集器的相关资料,需要的朋友可以参考下

百度dict 采集样本

写的采集百度dict词典翻译后的所有结果数据,当然附带了13.5w单词库和采集简单的案例,这里我把写出的主要类dict.class.php放出来,项目地址http://github.com/widuu/baidu_dict,有需要的直接fork就可以了~么么哒,这东西用的人很少,所以有用的兄弟拿走了哈~

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

/**

* dict.class.php 采集百度词典翻译内容

*

* @copyright (C) 2014 widuu

* @license http://www.widuu.com

* @lastmodify 2014-2-15

*/

header("content-type:text/html;charset=utf8");

class Dict{

private $word;

//显示的条数

private static $num = 10;

public function __construct(){}

/**

* 公用返回百度采集数据的方法

* @param string 英文单词

* retun array(

* symbol" => 音标

* "pro" => 发音

* "example"=> 例句

* "explain"=> 简明释义

* "synonym"=> 同反义词

* "phrase" => 短语数组

* )

*

*/

public function content($word){

$this -> word = $word;

$symbol = $this -> Pronounced();

$pro = $this->getSay();

$example = $this -> getExample();

$explain = $this -> getExplain();

$synonym = $this -> getSynonym();

$phrase = $this -> getPhrase();

$result = array(

"symbol" => $symbol, //音标

"pro" => $pro, //发音

"example"=> $example, //例句

"explain"=> $explain, //简明释义

"synonym"=> $synonym, //同反义词

"phrase" => $phrase //短语数组

);

return $result;

}

/**

* 远程获取百度翻译内容

* get function curl

* retun string

*

*/

private function getContent(){

$useragent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0";

$ch = curl_init();

$url = "http://dict.baidu.com/s?wd=".$this->word;

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_USERAGENT,$useragent);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

curl_setopt($ch, CURLOPT_HTTPGET, 1);

curl_setopt($ch, CURLOPT_AUTOREFERER,1);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_TIMEOUT, 30);

$result = curl_exec($ch);

if (curl_errno($curl)) {

echo 'Errno'.curl_error($curl);

}

curl_close($ch);

return $result;

}

/**

* 获取百度翻译发音

* retun array(英,美)

*

*/

private function Pronounced(){

$data = $this -> getContent();

preg_match_all("/\"EN\-US\"\>(.*)\<\/b\>/Ui",$data,$pronounced);

return array(

'en' => $pronounced[1][0],

'us' => $pronounced[1][1]

);

}

/**

* 获取百度翻译发音

* return array(英,美)

*

*/

private function getSay(){

$data = $this -> getContent();

preg_match_all("/url=\"(.*)\"/Ui",$data,$pronounced);

return array(

'en' => $pronounced[1][0],

'us' => $pronounced[1][1]

);

}

/**

* 获取百度翻译例句

* return array() 多维数组 例句

*

*/

private function getExample(){

$str = "";

$data = $this -> getContent();

preg_match_all("/var example_data = (.*)\]\;/Us",$data,$example);

$data1 = "[[[".ltrim($example[1][0],"[");

$data2 = explode("[[[",$data1);

$num = count(array_filter($data2));

foreach($data2 as $key => $value){

$data3 = explode("[[","[[".$value);

foreach ($data3 as $k => $v) {

preg_match_all("/\[\"(.*)\",/Us","[".$v, $match);

if(!empty($match[1])){

$str .= implode($match[1]," ")."@";

}

}

}

$data4 = trim($str,"@");

$data5 = explode("@", $data4);

$result = array_chunk($data5, 2);

return $result;

}

/**

* 获取简明释义

* return array (x => "词性",b => "附属")

*

**/

private function getExplain(){

$data = $this -> getContent();

preg_match_all("/id\=\"en\-simple\-means\"\>(.*)\/Us",$data,$explain);

$r_data = $explain[1][0];

preg_match_all("/\\(?P.*)\<\/strong\>\(?P.*)\<\/span\>\<\/p\>/Us", $r_data, $a_data);

preg_match_all("/\(?P[^\>]+)\:\(?P.*)\<\/a\>\<\/span\>/Us", $r_data, $b_data);

$result = array();

foreach ($a_data["adj"] as $key => $value) {

$result[$value] = $a_data["name"][$key];

}

$word_b = array();

foreach ($b_data["tag"] as $key => $value) {

$word_b[$value] = strip_tags($b_data["word"][$key]);

}

$result_data = array("x" => $result,"b" => $word_b);

return $result_data;

}

/**

* 获取同义词

* return array(0 => "同义词", 1 => "反义词") 一般为多维数组

*

*/

private function getSynonym(){

$data = $this -> getContent();

preg_match_all("/id=\"en\-syn\-ant\"\>(.*)/Us",$data,$synonym);

$content = $synonym[1][0];

$data1 = explode("", $content);

$result = array();

$data2 = array();

foreach ($data1 as $key => $value) {

preg_match_all("/\(?P.*)\ \;\<\/strong\>\<\/div\>\\(?.*)\<\/ul\>/Us", $value, $r_data);

$data2[$key]["adj"] = $r_data["adj"];

$data2[$key]["content"] = $r_data["content"];

}

foreach ($data2 as $key => $value) {

foreach ($value["content"] as $k => $v) {

if(!empty($v)){

preg_match_all("/\\(?P.*)\<\/p\>(?P<value>.*)\<\/li>/Us", $v, $v_data);</p> <p>foreach ($v_data['title'] as $m => $d) {</p> <p>$data = strip_tags(preg_replace("<</a>>"," ", $v_data["value"][$m]));</p> <p>$result[$key][$value["adj"][$k]][$d] = $data;</p> <p>}</p> <p>}</p> <p>}</p> <p>}</p> <p>return $result;</p> <p>}</p> <p> </p> <p>/**</p> <p>* 获取短语词组</p> <p>* return array (key => value) 一维或者多维数组</p> <p>*</p> <p>*/</p> <p> </p> <p>private function getPhrase(){</p> <p>$num = self::$num;</p> <p>$data = $this -> getContent();</p> <p>preg_match_all("/id=\"en\-phrase\"\>(.*)\<div class\=\"source\"\>/Us",$data,$phrase);</p> <p>$data = explode("</dd>",$phrase[1][0]);</p> <p>$data1 = array_slice($data,0,$num);</p> <p>$result = array();</p> <p>foreach ($data1 as $key => $value) {</p> <p>$data2 = explode("</p>", $value);</p> <p>$n = count($data2);</p> <p>if($n<=3){</p> <p>$result[str_replace(" ","",strip_tags($data2[0]))] = strip_tags($data2[1]);</p> <p>}else{</p> <p>$data3 = array_slice($data2,0,$n-1);</p> <p>$data4 = array_slice($data2,0,2);</p> <p>$res = array_diff($data3,$data4);</p> <p>$data5 = array_chunk($res,2);</p> <p>$key_value = trim(str_replace(" ","",strip_tags($data4[0])));</p> <p>$result[$key_value] = strip_tags($data4[1]);</p> <p>foreach ($data5 as $key => $value) {</p> <p>foreach ($value as $k => $v) {</p> <p>$value[$k] = strip_tags($v);</p> <p>}</p> <p>$array = array($result[$key_value],$value);</p> <p>if (array_key_exists($key_value, $result)){</p> <p>$result[$key_value] = $array;</p> <p>}</p> <p>}</p> <p> </p> <p>}</p> <p>}</p> <p>return $result;</p> <p>}</p> <p> </p> <p>/**</p> <p>* 将数组转换为字符串</p> <p>*</p> <p>* @param array $data 数组</p> <p>* @param bool $isformdata 如果为0,则不使用new_stripslashes处理,可选参数,默认为1</p> <p>* @return string 返回字符串,如果,data为空,则返回空</p> <p>*/</p> <p>private function array2string($data, $isformdata = 1) {</p> <p>if($data == '') return '';</p> <p>if($isformdata) $data = $this->new_stripslashes($data);</p> <p>return addslashes(var_export($data, TRUE));</p> <p>}</p> <p> </p> <p>/**</p> <p>* 返回经stripslashes处理过的字符串或数组</p> <p>* @param $string 需要处理的字符串或数组</p> <p>* @return mixed</p> <p>*/</p> <p>private function new_stripslashes($string) {</p> <p>if(!is_array($string)) return stripslashes($string);</p> <p>foreach($string as $key => $val) $string[$key] = $this->new_stripslashes($val);</p> <p>return $string;</p> <p>}</p> <p> </p> <p>}</p> <p> </p> <p>// $word = new dict("express");</p> <p>// $word ->content();</p> </p> </td> </tr> </tbody> </table> </p> </p> </p> <p>以上就是本文的全部内容了,非常实用的功能,希望小伙伴们能够喜欢。</p> </p> </p> </p> <p align="left"><div style="display:none;"><span id="url" itemprop="url">http://www.bkjia.com/PHPjc/950763.html</span><span id="indexUrl" itemprop="indexUrl">www.bkjia.com</span><span id="isOriginal" itemprop="isOriginal">true</span><span id="isBasedOnUrl" itemprop="isBasedOnUrl">http://www.bkjia.com/PHPjc/950763.html</span><span id="genre" itemprop="genre">TechArticle</span><span id="description" itemprop="description">PHP制作百度词典查词采集器 这篇文章主要介绍了PHP制作百度词典查词采集器的相关资料,需要的朋友可以参考下 百度dict 采集样本 写的采集...</span></div></p></div> <div class="art_confoot"></div> </div> <div class="nphpQianMsg"><a href="//m.sbmmt.com/m/search?word=php">PHP</a> <a href="//m.sbmmt.com/m/search?word=制作">制作</a> <a href="//m.sbmmt.com/m/search?word=百度">百度</a> <a href="//m.sbmmt.com/m/search?word=词典">词典</a> <a href="//m.sbmmt.com/m/search?word=查词">查词</a> <a href="//m.sbmmt.com/m/search?word=采集">采集</a> <a href="//m.sbmmt.com/m/search?word=器">器</a> <a href="//m.sbmmt.com/m/search?word=php">PHP</a> <a href="//m.sbmmt.com/m/search?word=制作">制作</a> <a href="//m.sbmmt.com/m/search?word=百度">百度</a> <a href="//m.sbmmt.com/m/search?word=词典">词典</a> <a href="//m.sbmmt.com/m/search?word=查词">查词</a> <a href="//m.sbmmt.com/m/search?word=采集">采集</a> <a href="//m.sbmmt.com/m/search?word=器">器</a> <a href="//m.sbmmt.com/m/search?word=这篇">这篇</a> <a href="//m.sbmmt.com/m/search?word=文章">文章</a> <a href="//m.sbmmt.com/m/search?word=主要">主要</a> <a href="//m.sbmmt.com/m/search?word=介绍了">介绍了</a> <a href="//m.sbmmt.com/m/search?word=的">的</a> <a href="//m.sbmmt.com/m/search?word=相关">相关</a><a href="//m.sbmmt.com/m/course/list/29/type/2.html">PHP课程</a><a href="//m.sbmmt.com/m/course/list/11.html">HTML视频教程</a><a href="//m.sbmmt.com/m/course/list/12.html">CSS视频</a><a href="//m.sbmmt.com/m/course/list/17.html">JS视频教程</a><a href="//m.sbmmt.com/m/course/list/18.html">Vue视频教程</a><div class="clear"></div></div> <div class="nphpQianSheng"><span>声明:</span>本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。</div> <!-- <div class="nphpFen"> <span><a href="javascript:;"><b></b>分享</a></span> <em class="icon1"><b></b>收藏</em> <i class="icon1"><b></b>点赞</i> <div class="clear"></div> </div> --> </div> <script type="text/javascript" src="//m.sbmmt.com/sw/hezuo/16e561434ad42f17963b25d80a9fabeb.html" ></script> <div class="nphpSytBox"> <span>上一条:<a class="dBlack" href="//m.sbmmt.com/m/faq/292159.html">php上传文件问题汇总,_PHP教程</a></span> <span>下一条:<a class="dBlack" href="//m.sbmmt.com/m/faq/292161.html">HTTP状态码大全,状态码大全_PHP教程</a></span> </div> <div class="wwads-cn wwads-horizontal" data-id="164" style="max-width:100%"></div> <div class="nphpSytBox1"> <div class="nphpShou"> <script type="text/javascript" src="//m.sbmmt.com/sw/hezuo/7295e38849324c4a3f458e359856409d.html" ></script> <div class="clear"></div> </div> <ul class="nphpBian"> <li> <a href="//m.sbmmt.com/m/blog/detail/1046940.html"><span class="bg1"></span><dl><dt>编程学习群</dt><dd>技术答疑交流</dd></dl><div class="clear"></div></a> </li> <li> <a href="javascript:window.location.href = 'https://mp.weixin.qq.com/s?__biz=Mzk0MTE2MDU0Ng==&mid=2247487529&idx=1&sn=f4f9feda0951312daebe69478f219e7a&chksm=c2d7f124f5a0783233d879a6de3c59165dc2520e15813860b5bace817a6e08e530d454abd3c6#rd';"><span class="bg2"></span><dl><dt>关注公众号</dt><dd>获取学习资源</dd></dl><div class="clear"></div></a> </li> <div class="clear"></div> </ul> </div> <div class="nphpSytBox2"> <div class="nphpZbktTitle"> <h2>相关文章</h2> <em><a href="//m.sbmmt.com/m/article.html" class="bBlack"><i>查看更多</i><b></b></a></em> <div class="clear"></div> </div> <ul class="nphpXgwzList"> <!-- <li><b></b><a href="//m.sbmmt.com/jump/go.php?url=https%3A%2F%2Fm.sbmmt.com%2Fvip_mobile.html" class="aBlack" style="color: red;" rel="nofollow">❤️‍🔥共22门课程,总价3725元,会员免费学</a><div class="clear"></div></li> --> <!-- <li><b></b><a href="//m.sbmmt.com/jump/go.php?url=https%3A%2F%2Fm.php.cn%2Farticle%2F496353.html" class="aBlack" style="color: red;" rel="nofollow">❤️‍🔥接口自动化测试不想写代码?</a><div class="clear"></div></li> --> <li><b></b><a href="//m.sbmmt.com/m/faq/599668.html" class="aBlack">PHP中的FILTER_SANITIZE_NUMBER_FLOAT常量</a><div class="clear"></div></li> <li><b></b><a href="//m.sbmmt.com/m/faq/599669.html" class="aBlack">快速提示:使用神秘命名的 _e、_n 和 __ 函数</a><div class="clear"></div></li> <li><b></b><a href="//m.sbmmt.com/m/faq/597956.html" class="aBlack">PHP开发中如何获取百度文心一言的随机句子?</a><div class="clear"></div></li> <li><b></b><a href="//m.sbmmt.com/m/faq/599618.html" class="aBlack">MySQL如何与PHP编程语言配合工作?</a><div class="clear"></div></li> <li><b></b><a href="//m.sbmmt.com/m/faq/597870.html" class="aBlack">PHP中实现带有邮箱验证功能的登录注册系统的具体步骤</a><div class="clear"></div></li> </ul> </div> <script type="text/javascript" src="//m.sbmmt.com/sw/hezuo/cf85c41f1b0ce5f8359e5229784c31e4.html" ></script> <div class="nphpSytBox2"> <div class="nphpTjkcTitle"> <ul class="nphpTjkcMenu menu1"> <li class="current">热门课程</li> <div class="clear"></div> </ul> <div class="clear"></div> </div> <div class="nphpRmkcBox" style="padding-top:0px;"> <ul class="nphpRmkcList"> <li> <a href="//m.sbmmt.com/m/course/1134.html"><img data-src="//m.sbmmt.com/img/upload/course/000/000/068/62555a16c9bf9556.png" alt="TP6.0 搭建个人博客实战(玉女心经版)" class="lazyload" src="//m.sbmmt.com/img/upload/course/000/000/068/62555a16c9bf9556.png" onerror="this.src='/static/mobimages/moren/236_132.png'"/></a> <dl> <dt><a href="//m.sbmmt.com/m/course/1134.html" title="TP6.0 搭建个人博客实战(玉女心经版)" class="aBlack">TP6.0 搭建个人博客实战(玉女心经版)</a></dt> <dd> <span> <em> <h2>¥71</h2> <i>¥79</i> <div class="clear"></div> </em> <p>已抢187138个</p> </span> <b><a href="//m.sbmmt.com/m/course/1134.html">抢</a></b> <div class="clear"></div> </dd> </dl> <div class="clear"></div> </li> <li> <a href="//m.sbmmt.com/m/course/1112.html"><img data-src="//m.sbmmt.com/img/upload/course/000/000/068/625662615beae981.png" alt="php mysql实战:学生信息管理系统(玉女心经版)" class="lazyload" src="//m.sbmmt.com/img/upload/course/000/000/068/625662615beae981.png" onerror="this.src='/static/mobimages/moren/236_132.png'"/></a> <dl> <dt><a href="//m.sbmmt.com/m/course/1112.html" title="php mysql实战:学生信息管理系统(玉女心经版)" class="aBlack">php mysql实战:学生信息管理系统(玉女心经版)</a></dt> <dd> <span> <em> <h2>¥89</h2> <i>¥99</i> <div class="clear"></div> </em> <p>已抢67526个</p> </span> <b><a href="//m.sbmmt.com/m/course/1112.html">抢</a></b> <div class="clear"></div> </dd> </dl> <div class="clear"></div> </li> <li> <a href="//m.sbmmt.com/m/course/893.html"><img data-src="//m.sbmmt.com/img/upload/course/000/000/068/625558b87e512730.png" alt="CSS视频教程-玉女心经版" class="lazyload" src="//m.sbmmt.com/img/upload/course/000/000/068/625558b87e512730.png" onerror="this.src='/static/mobimages/moren/236_132.png'"/></a> <dl> <dt><a href="//m.sbmmt.com/m/course/893.html" title="CSS视频教程-玉女心经版" class="aBlack">CSS视频教程-玉女心经版</a></dt> <dd> <span> <em> <h2>¥62</h2> <i>¥69</i> <div class="clear"></div> </em> <p>已抢353833个</p> </span> <b><a href="//m.sbmmt.com/m/course/893.html">抢</a></b> <div class="clear"></div> </dd> </dl> <div class="clear"></div> </li> <li> <a href="//m.sbmmt.com/m/course/894.html"><img data-src="//m.sbmmt.com/img/upload/course/000/000/068/625558e4f11c8518.png" alt="JavaScript极速入门_玉女心经系列" class="lazyload" src="//m.sbmmt.com/img/upload/course/000/000/068/625558e4f11c8518.png" onerror="this.src='/static/mobimages/moren/236_132.png'"/></a> <dl> <dt><a href="//m.sbmmt.com/m/course/894.html" title="JavaScript极速入门_玉女心经系列" class="aBlack">JavaScript极速入门_玉女心经系列</a></dt> <dd> <span> <em> <h2>¥62</h2> <i>¥69</i> <div class="clear"></div> </em> <p>已抢668600个</p> </span> <b><a href="//m.sbmmt.com/m/course/894.html">抢</a></b> <div class="clear"></div> </dd> </dl> <div class="clear"></div> </li> <li> <a href="//m.sbmmt.com/m/course/762.html"><img data-src="//m.sbmmt.com/img/upload/course/000/013/745/5aab60e0ad5fc891.jpg" alt="零基础php开发视频教程VIP视频课" class="lazyload" src="//m.sbmmt.com/img/upload/course/000/013/745/5aab60e0ad5fc891.jpg" onerror="this.src='/static/mobimages/moren/236_132.png'"/></a> <dl> <dt><a href="//m.sbmmt.com/m/course/762.html" title="零基础php开发视频教程VIP视频课" class="aBlack">零基础php开发视频教程VIP视频课</a></dt> <dd> <span> <em> <h2>¥99</h2> <i>¥299</i> <div class="clear"></div> </em> <p>已抢124020个</p> </span> <b><a href="//m.sbmmt.com/m/course/762.html">抢</a></b> <div class="clear"></div> </dd> </dl> <div class="clear"></div> </li> <li> <a href="//m.sbmmt.com/m/course/1540.html"><img data-src="//m.sbmmt.com/img/upload/course/000/000/068/643cef38f10ac763.png" alt="前端基础到实战(HTML5+CSS3+ES6+NPM)" class="lazyload" src="//m.sbmmt.com/img/upload/course/000/000/068/643cef38f10ac763.png" onerror="this.src='/static/mobimages/moren/236_132.png'"/></a> <dl> <dt><a href="//m.sbmmt.com/m/course/1540.html" title="前端基础到实战(HTML5+CSS3+ES6+NPM)" class="aBlack">前端基础到实战(HTML5+CSS3+ES6+NPM)</a></dt> <dd> <span> <em> <h2>¥800</h2> <i>¥1200</i> <div class="clear"></div> </em> <p>已抢26308个</p> </span> <b><a href="//m.sbmmt.com/m/course/1540.html">抢</a></b> <div class="clear"></div> </dd> </dl> <div class="clear"></div> </li> </ul> </div> <div class="nphpShou2"> <a href="//m.sbmmt.com/m/app/" class="aRed"><b></b><em>打开APP,随时随地在线学习!</em><span></span></a> <div class="clear"></div> </div> </div> </div> <!--主体 end--> <!--底部菜单--> <div class="nphpFoot" id="nphpFoot" style="display:none;"> <script type="text/javascript" src="//m.sbmmt.com/sw/hezuo/7c9c0cc71ad595f7716f2f0c50381e48.html" ></script> </div> <!--底部菜单--> <!--右侧菜单--> <div class="nphpYouBox" style="display: none;"> <div class="nphpYouBg"> <div class="nphpYouTitle"><span onclick="$('.nphpYouBox').hide()"></span><a href="//m.sbmmt.com/m/"></a><div class="clear"></div></div> <ul class="nphpYouList"> <li><a href="//m.sbmmt.com/m/"><b class="icon1"></b><span>首页</span><div class="clear"></div></a></li> <li><a href="//m.sbmmt.com/m/course.html"><b class="icon2"></b><span>课程</span><div class="clear"></div></a></li> <li><a href="//m.sbmmt.com/m/article.html"><b class="icon3"></b><span>文章</span><div class="clear"></div></a></li> <li><a href="//m.sbmmt.com/m/wenda.html"><b class="icon4"></b><span>问答</span><div class="clear"></div></a></li> <li><a href="//m.sbmmt.com/m/blog.html"><b class="icon5"></b><span>博客</span><div class="clear"></div></a></li> <li><a href="//m.sbmmt.com/m/dic.html"><b class="icon6"></b><span>词典</span><div class="clear"></div></a></li> <li><a href="//m.sbmmt.com/m/course/type/99.html"><b class="icon7"></b><span>手册</span><div class="clear"></div></a></li> <li><a href="//m.sbmmt.com/m/xiazai/"><b class="icon8"></b><span>资源</span><div class="clear"></div></a></li> <li><a href="//m.sbmmt.com/m/search"><b class="icon9"></b><span>搜索</span><div class="clear"></div></a></li> <li><a href="//m.sbmmt.com/m/app/"><b class="icon10"></b><span>APP下载</span><div class="clear"></div></a></li> <li><a href="//m.sbmmt.com/m/mk.html"><b class="icon11"></b><span>PHP培训</span><em>新</em><div class="clear"></div></a></li> <div class="clear"></div> </ul> </div> </div> <!--右侧菜单 end--> <!--顶部导航--> <div class="nphpDing" style="display: none;"> <div class="nphpDinglogo"><a href="//m.sbmmt.com/m/faq/#"></a></div> <div class="nphpNavIn1"> <div class="swiper-container nphpNavSwiper1"> <div class="swiper-wrapper"> <div class="swiper-slide"><a href="//m.sbmmt.com/m/" >首页</a></div> <div class="swiper-slide"><a href="//m.sbmmt.com/m/course.html" >课程</a></div> <div class="swiper-slide"><a href="//m.sbmmt.com/m/map.html">路径</a></div> <div class="swiper-slide"><a href="//m.sbmmt.com/m/article.html" class="hover">文章</a></div> <div class="swiper-slide"><a href="//m.sbmmt.com/m/mk.html" title="PHP培训">PHP培训</a><b></b></div> <div class="swiper-slide"><a href="//m.sbmmt.com/m/coding.html">精品课</a></div> <div class="swiper-slide"><a href="//m.sbmmt.com/m/xiazai" >下载</a></div> <div class="clear"></div> </div> </div> <script> var swiper = new Swiper('.nphpNavSwiper1', { slidesPerView : 'auto' }); </script> </div> </div> <!--顶部导航 end--> </div> <script> (function () { var bp = document.createElement('script');var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') {bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';} else {bp.src = 'http://push.zhanzhang.baidu.com/push.js';} var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://m.sbmmt.com/hm.js?c0e685c8743351838d2a7db1c49abd56"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script>isLogin = 0;</script> <script type="text/javascript" src="//m.sbmmt.com/m/static/layui/layui.js"></script> <script type="text/javascript" src="//m.sbmmt.com/m/static/js/global.js?4.9.47"></script> <script> var returnCitySN = ''; </script> <script type="text/javascript" charset="UTF-8" src="//m.sbmmt.com/ip/city.php?sign=8529f017d616dd38026ce478741236f7"></script> <script> var cname = returnCitySN.cname; var cname = cname.split("|"); function setCookie(name,value,iDay){ //name相当于键,value相当于值,iDay为要设置的过期时间(天) var oDate = new Date(); oDate.setDate(oDate.getDate() + iDay); document.cookie = name + '=' + value + ';path=/;domain=.php.cn;expires=' + oDate; } //读cookies function getCookiea(name) { var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); if(arr=document.cookie.match(reg)) return arr[2]; else return null; } var ad = getCookiea('ad'); if(ad) { var num = parseInt(ad)+1; } else { var num = 1; } if(num <= 2000) { if( returnCitySN == '' || encodeURIComponent(returnCitySN.cname).indexOf('%E5%8C%97%E4%BA%AC') != -1 ) { $('#nphpFoot').remove(); $('#adTop').remove(); } else { $('#nphpFoot').show(); $('#adTop').show(); $(document).ready(function(){ $('.nphpQianCont').before('<div class="nphpShou"><a href="https://work.weixin.qq.com/kfid/kfc8cc2d6defcf3c202" targe="_blank" style="width:100%;" rel="nofollow" class="aRed"><b class="icon2"></b><em style=" font-style:normal">【'+cname[2]+'】PHP编程学习,咨询领取优惠!</em><span></span></a></div>') }) } setCookie('ad',num,1) } </script> </div> <script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script> <link rel='stylesheet' id='_main-css' href='//m.sbmmt.com/m/static/css/viewer.min.css' type='text/css' media='all'/> <script type='text/javascript' src='//m.sbmmt.com/m/static/js/viewer.min.js?1'></script> <script type='text/javascript' src='//m.sbmmt.com/m/static/js/jquery-viewer.min.js'></script> <script> jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); $(function() { $(".nphpFen em").click(function(){ if($(this).hasClass("icon1")){ $(this).removeClass("icon1").addClass("icon2").html("<b></b>已收藏") }else{ $(this).removeClass("icon2").addClass("icon1").html("<b></b>收藏") } }) $(".nphpFen i").click(function(){ if($(this).hasClass("icon1")){ $(this).removeClass("icon1").addClass("icon2").html("<b></b>已点赞") }else{ $(this).removeClass("icon2").addClass("icon1").html("<b></b>点赞") } }) }) </script> </body> </html>