我的脚本在我的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它的工作正常
我只是从提到的Parser开始,并以某种方式直接在开始时运行问题.
参考本教程:
我现在想要在一个源代码中找到一个带有类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) 我有一个问题,答案肯定很简单,但是我缺乏理解。
我有一个具有以下外观的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)
非常感谢!
我的覆盖不起作用
我尝试将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,我没有在前端的源代码中看到它.我在这里错过了什么?
php ×3
children ×1
css ×1
dom ×1
overriding ×1
parse-error ×1
parsing ×1
php-5.3 ×1
prestashop ×1
simplexml ×1
xml ×1