我正在尝试在nginx服务器上运行PHP命令text2wave.
问题是命令只是默默地退出而没有按预期工作.它也没有显示任何错误.
这是代码:
<?php
$result = `/usr/bin/text2wave --help`;
var_dump($result);
Run Code Online (Sandbox Code Playgroud)
如果我通过shell中的php命令运行脚本(作为普通用户),它按预期工作.但是,如果我通过nginx通过http请求运行它,var_dump将返回NULL(错误日志文件中也没有日志)
谢谢你的帮助!
我有一个问题,我已经使用了一段时间的脚本,它对我有用,直到我遇到这个问题.
我有一个脚本,我想从html源代码中删除所有p html标签.该脚本部分工作,因为它只删除了一些p标签,但留下了一些.
我不明白为什么会那样做.
$doc = new DOMDocument();
$a = <<<FAIL
<html><body>
<div style="clear:both"></div>
<p class="articletitle">hoo</p>
<p class="articletext">hmmm</p>
<p class="articletext">hmmmm</p>
<p align="center"></p>
</body></html>
FAIL;
$doc->loadHTML($a);
$list = $doc->getElementsByTagName("p");
foreach ($list as $l) {
$l->parentNode->removeChild($l);
$c++;
}
echo $doc->saveHTML() . $c;
Run Code Online (Sandbox Code Playgroud)
脚本返回
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html><body>
<div style="clear:both"></div>
<p class="articletext">hmmm</p>
<p align="center"></p>
Run Code Online (Sandbox Code Playgroud)
遗漏了两个p标签......
你能帮我找一下它跳过一些标签的原因吗?
我不确定这是一个编码问题还是什么,但我有一个问题,使用简单的xml与文本中的一些字符
$xml = <<<HOHOHO
<?xml version="1.0" encoding="iso-8859-2" standalone="yes"?>
<videos>
<video>
<ContentProvider>bl abla</ContentProvider>
<ArtistName>T-Boz</ArtistName>
<CopyrightLine>(C)2009 SME España, S.</CopyrightLine>
</video>
</videos>
HOHOHO;
$a = simplexml_load_string ($xml);
foreach ( $a->video as $new )
die($new->CopyrightLine);
Run Code Online (Sandbox Code Playgroud)
事情就是ñ角色变得混乱,变成类似Ă的东西,当它应该是一个ñ.我觉得奇怪的是,simplexml无论如何都要将它更改为一个角色,而不仅仅是保持原样......
我知道这必须用十六进制代码做一些事情,但我还没有找到解决方案
到目前为止我尝试过的事情:使用mb_convert_string将字符串转换为iso-8859-2,使用mb_convert_string将字符串转换为utf-8,使用html_entity_decode进行转换,使用html_special字符进行转换
以上所有尝试都无法解析xml或只是没有修复该字符
帮助我非常感谢!