日期:2014-05-17  浏览次数:20528 次

数组得值的奇怪问题
PHP code
、

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] => &lt;\[^&gt;\]+&gt;$$$
            [vodname] => &lt;\[^&gt;\]+&gt;$$$
            [actor] => &lt;\[^&gt;\]+&gt;$$$
            [director] => &lt;\[^&gt;\]+&gt;$$$
            [content] => &lt;\[^&gt;\]+&gt;$$$
            [vodpic] => &lt;\[^&gt;\]+&gt;$$$
            [continu] => &lt;\[^&gt;\]+&gt;$$$
            [area] => &lt;\[^&gt;\]+&gt;$$$
            [playtime] => &lt;\[^&gt;\]+&gt;$$$
            [grade] => &lt;\[^&gt;\]+&gt;$$$
            [url] => &lt;\[^&gt;\]+&gt;$$$
        )

    [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] => 确定
)




上面那一个数组,我要得到[content] 的值,但是只能得到一部分
<div class=\"box_con box_con_movieinfo\">([\s\S]*?)
后一部份无法得到。
请问一下是什么原因呢


------解决方案--------------------
var_export这个数组 再贴出来
------解决方案--------------------
你是怎么传的。又是怎么得的?
------解决方案--------------------
给出[content]的值,并说明你要得到什么
------解决方案--------------------
很可能符号的问题。
建议在存放数组元素前,加上 htmlspecialchars();
在取元素时,htmlspecialchars_decode();
------解决方案--------------------
你是怎么看见你只获取了部分的啊?是不是直接输出,看的页面效果啊?
------解决方案--------------------
加了以后能调用啊:
PHP code

 $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] ) )

------解决方案--------------------
PHP code

 $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>