数组得值的奇怪问题
、Array( [title] => 迅雷电视剧 [encoding] => gbk [listlink] => <div class=\"operbox\"><a class=\"on\" href=\"([\s\S]*?)\" [listpicstr] => _src=\"([\s\S]*?)\" [listname] => _src=\"([\s\S]*?)\" [replace] => Array ( [listname] => <\[^>\]+>$$$ [vodname] => <\[^>\]+>$$$ [actor] => <\[^>\]+>$$$ [director] => <\[^>\]+>$$$ [content] => <\[^>\]+>$$$ [vodpic] => <\[^>\]+>$$$ [continu] => <\[^>\]+>$$$ [area] => <\[^>\]+>$$$ [playtime] => <\[^>\]+>$$$ [grade] => <\[^>\]+>$$$ [url] => <\[^>\]+>$$$ ) [name] => <strong class=\"movieDetail_tt\">([\s\S]*?)<\/strong> [actor] => <li>([\s\S]*?)<\/a><\/li> [director] => <p><strong>导演:<\/strong>([\s\S]*?)<\/p> [content] =><div class=\"box_con box_con_movieinfo\">([\s\S]*?)<a target=\"_blank\" [pic] => [continu] => [area] => <li>标签:([\s\S]*?)<\/li> [playtime] => <p><strong>片长:<\/strong><span>([\s\S]*?)分钟<\/span><\/p> [grade] => [language] => <ul id=\"ul_subLabel\" class=\"diversity_white_ul \">([\s\S]*?)<\/ul> [year] => <p><strong>上映:<\/strong>([\s\S]*?)<\/p> [urlname] => title=\"([\s\S]*?)\" [urllink] => <a href=\"([\s\S]*?)\" title= [url] => [submit] => 确定)
$a ="[b] <div class=\"box_con box_con_movieinfo\">([\s\S]*?)<a target=\"_blank\"[/b]"; $b = htmlspecialchars($a); $c = array(123,$b,array($b)); print_r($c); /* -------- 输出 --------*/Array ( [0] => 123 [1] => [b] <div class="box_con box_con_movieinfo">([\s\S]*?)<a target="_blank"[/b] [2] => Array ( [0] => [b] <div class="box_con box_con_movieinfo">([\s\S]*?)<a target="_blank"[/b] ) )
[解决办法]
$a ="[b] <div class=\"box_con box_con_movieinfo\">([\s\S]*?)<a target=\"_blank\"[/b]"; $b = htmlspecialchars($a); $c = array(123,$b,array($b));$d = htmlspecialchars_decode($c[2][0]);echo "d-->>".$d."<br>";/*输出,浏览器界面已将标签解析*/d-->>[b] ([\s\S]*?)/*源码*/d-->>[b] <div class="box_con box_con_movieinfo">([\s\S]*?)<a target="_blank"[/b]<br>
[解决办法]
用你的代码打印出的结果:
$replace = xunleiReplace();$replace = htmlDecode($replace);echo "<pre>";print_r($replace['content']);exit();/*输出*/([\s\S]*?)<a target=\"_blank\"/*源码*/<pre><div class=\"box_con box_con_movieinfo\">([\s\S]*?)<a target=\"_blank\"
[解决办法]
不懂!
[解决办法]
是不是从
<div class=\"box_con box_con_movieinfo\">到<a target=\"_blank\"
之间出现了<a target=\"_blank\"。提早截断了额。加个贪婪标识试试
[解决办法]
$replace = xunleiReplace();/* 1 */print_r($replace['content']);echo"<br>";//输出//<div class=\"box_con box_con_movieinfo\">[$ppvod]<a target=\"_blank\"//源码//<div class=\"box_con box_con_movieinfo\">[$ppvod]<a target=\"_blank\"$replace = htmlDecode($replace);/* 2 */print_r($replace['content']);exit();//输出//([\s\S]*?)<a target=\"_blank\"//源码//<div class=\"box_con box_con_movieinfo\">([\s\S]*?)<a target=\"_blank\"
[解决办法]
那可能是你其他嵌套的代码的漏洞,检查在哪调用的这些函数,是否嵌套在循环中?或者多加了一些规则之类的。
[解决办法]
到现在为止,只有一个人知道你在做什么
[解决办法]
那简单啊,将和该函数及其调用代码先删除或保存到其它地方,简化你的代码,再慢慢分析
[解决办法]
跟楼上说的,先把所有代码都去掉,只保留去数组的方法,如果还是不能调试,就把数组输出,然后把输出的数组转成静态数组,然后去取静态数组中的值,这样应该能把问题排除出来,既然存在数组中,应该是可以取出来的,不然也不可能存到数组中