Php 非指定函数返回1
我正在尝试使用uncent函数来记忆特殊字符 如果放置:echo uncent('áç');结果还可以 当我尝试添加分解参数时:echo uncent($foo[1]);结果是1 有什么建议吗Php 非指定函数返回1,php,Php,我正在尝试使用uncent函数来记忆特殊字符 如果放置:echo uncent('áç');结果还可以 当我尝试添加分解参数时:echo uncent($foo[1]);结果是1 有什么建议吗 $fiche = file('fiches.txt'); foreach ($fiche as $line_num => $line) { echo $line; $foo = explode (",", $line); function Unaccent($string) { return p
$fiche = file('fiches.txt');
foreach ($fiche as $line_num => $line) {
echo $line;
$foo = explode (",", $line);
function Unaccent($string)
{
return preg_replace('~&([a-z]{1,2})(acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8'));
}
echo Unaccent($foo[1]);
我是这样解决的:
preg_replace("/&([a-z])[a-z]+;/i", "$1", htmlentities($line));
非常感谢大家。您试过调试这个吗?什么是
var_转储($foo[1])代码>显示?您的foreach
循环的关闭}
在哪里?你是否(重新)在循环中声明uncent
?}是否关闭了var_dump retur this:string(9)“ACaççççççççççççç”这在我的末尾(PHP5.4.4)工作得很好:$foo=explode(',','test,t,tésî;echo uncent($foo[1])代码><如果未找到匹配项,则code>preg_replace()
返回NULL
,因此这不是NULL
。尝试print_r(uncent($foo[1])代码>并查看它返回了什么echo
是一个void类型的函数,因此它不能返回TRUE
a.k.a.1,因此它必须与函数的输入有关。或者(但不太可能)使用override_function()
.print_r($foo[1])覆盖了echo函数;返回ACaçççççççççÕ打印(未接收($foo[1]);不返回任何内容(我使用的是PHP5.3.1)