0

我正在开发一个使用preg_split函数的 PHP 脚本。在我的计算机中,使用 EasyPhp 一切正常,但是当我将文件在线放在可用空间上时,函数 preg_split 似乎不起作用(我在屏幕上没有错误消息,但字符串没有被拆分)。有没有可能这个功能被禁用了?PHP的版本是PHP 5.2.17 - Optimized for AlterVista这样的功能应该可以工作......有没有其他选择?

该脚本用于转换 *.pdf 文件(保存为 *.txt 文件),其中包含每个页面中具有相同结构的值列表。下面是一个例子。

第 1 页:这是今天的收获。日期:01/12/2012 苹果 12 香蕉 14 猕猴桃 2

第 2 页:这是今天的收获。日期:02/12/2012 苹果 19 香蕉 36 猕猴桃 0

第 3 页:这是今天的收获。日期:03/12/2012 苹果 1 香蕉 1 猕猴桃 73

原始文档包含近 50 种不同的水果,并且结构更复杂,这只是一个简单的成就示例以及我使用 Regex 的原因。我使用以下代码创建一个名为 $document_pg 的数组,其中每个元素都是原始文档的一页。

$document_pg = preg_split("(This is the today harvest.)", $document);

然后我使用一些preg_match函数来提取写在水果名称左侧的数字。这些值将保存在数据库中。

4

2 回答 2

1

尽管如果不与相关的托管服务提供商核实就很难说 - 很可能该提供商也关闭了警告的显示。当此功能被禁用时,它会生成一个您可能没有看到的警告级别通知。

要回答您的问题 - 完全有可能通过 php ini 文件禁用这样的功能。见这里disable_functions

于 2013-03-03T21:16:32.747 回答
1

可能是您服务器上的 PHP 已经编译--without-pcre-regex(PCRE 自 5.3.0 起才强制使用),因此您唯一的选择可能是使用已弃用的ereg正则表达式函数。下面的工作吗?

$document_pg = split('(This is the today harvest\.)', $document);
于 2013-03-03T21:17:41.723 回答