小编Owl*_*Owl的帖子

解析错误:语法错误,意外'['与php 5.3

我的脚本在我的xampp上运行得非常好.现在我尝试将其上传到服务器上,但它直接吐了一个

解析错误:语法错误,意外'['

在我的脸上.:(

它嘲弄的线是这一行:

    $item = $xml->xpath($path)[0];
Run Code Online (Sandbox Code Playgroud)

我不知道出了什么问题.我试着看看php 5.3更新日志,但没有找到任何关于它.(因为我在服务器上有5.3,而在xampp上有一个较旧的版本)

整个代码块看起来像这样:

$path = '//item[@id="'.$id.'"]';
if ($xml->xpath($path)) {
    $item = $xml->xpath($path)[0];
} else {
    die('<p class="error">Script Error: Code 101 - Please contact administrator</p>');
}
Run Code Online (Sandbox Code Playgroud)

我感谢任何帮助,我无法与谷歌联系并且不知道它可能来自哪里,因为在xampp它的工作正常

php parse-error php-5.3

19
推荐指数
1
解决办法
6万
查看次数

使用PHP Simple HTML DOM Parser查找带有类的div

我只是从提到的Parser开始,并以某种方式直接在开始时运行问题.

参考本教程:

http://net.tutsplus.com/tutorials/php/html-parsing-and-screen-scraping-with-the-simple-html-dom-library/

我现在想要在一个源代码中找到一个带有类ClearBoth Box的div的内容

我用curl检索代码并创建一个简单的html dom对象:

$cl = curl_exec($curl);  
$html = new simple_html_dom();
$html->load($cl);
Run Code Online (Sandbox Code Playgroud)

然后我想将div的内容添加到一个名为divs的数组中:

$divs = $html->find('div[.ClearBoth Box]');
Run Code Online (Sandbox Code Playgroud)

但是现在,当我print_r $ divs时,它提供了更多,尽管事实上源代码在div中没有​​更多.

像这样:

Array
(
    [0] => simple_html_dom_node Object
        (
            [nodetype] => 1
            [tag] => br
            [attr] => Array
                (
                    [class] => ClearBoth
                )

            [children] => Array
                (
                )

            [nodes] => Array
                (
                )

            [parent] => simple_html_dom_node Object
                (
                    [nodetype] => 1
                    [tag] => div
                    [attr] => Array
                        (
                            [class] => SocialMedia
                        )

                    [children] => Array
                        (
                            [0] => …
Run Code Online (Sandbox Code Playgroud)

php parsing dom simple-html-dom

5
推荐指数
2
解决办法
8万
查看次数

使用simplexml和php访问某个节点的所有子节点

我有一个问题,答案肯定很简单,但是我缺乏理解。

我有一个具有以下外观的xml文件(简短示例)

<item id="1234">
    <property name="country_id">
        <value>4402</value>
    </property>
    <property name="rc_maintenance_other">
    </property>
    <property name="claim_right_shareholder">
    </property>
    <property name="charges_other">
    </property>
    <property name="other_expenses_heating">
    </property>
    <property name="unpaid_bills_amount">
    </property>
    <property name="iv_person_phone">
        <value>03-6756711</value>
    </property>
</item>
<item id="9876">
   ...
</item>
Run Code Online (Sandbox Code Playgroud)

我的问题是,我想从id为1234的一项中读取所有属性,并在数组中读取其属性和值(如果存在)。

我知道如何使用xpath访问特定项。(感谢这个精彩的stackoverflow社区:))

但是,如何仅对特定项目使用children()函数?

像这样

foreach ($item[id="1234"]->children() as $property) {
Run Code Online (Sandbox Code Playgroud)

非常感谢!

php xml children simplexml

1
推荐指数
1
解决办法
2万
查看次数

在Prestashop 1.6中覆盖控制器

我的覆盖不起作用

我尝试将custom.css添加到我们默认的bootstrap主题的安全方式.我按照本教程:

http://www.prestadb.com/prestashop-override-controllers-tutorial/

与1.6的区别应该是文件应放在:

/超驰/控制器/前

代替

/重写/控制器/

在第一个提到的目录中,我有一个名为FrontControllerCore.php的文件,其中包含以下内容:

<?php
class FrontController extends FrontControllerCore
{
    public function setMedia()
    {
        parent::setMedia();   
        $this->addCSS(_THEME_CSS_DIR_.'custom.css');  
    }
}

?>
Run Code Online (Sandbox Code Playgroud)

但是没有加载custom.css,我没有在前端的源代码中看到它.我在这里错过了什么?

css overriding prestashop

1
推荐指数
1
解决办法
9958
查看次数