function rseo_get_seo($check, $post){
//code breaks somewhere in here. or in the rseo_doTheParse function.
switch ($check)
{
case "h1": return rseo_doTheParse('h1', $post);
case "h2": return rseo_doTheParse('h2', $post);
case "h3": return rseo_doTheParse('h3', $post);
case "img-alt": return rseo_doTheParse('img-alt', $post);
}
}
function rseo_doTheParse($heading, $post){
try { //I get a FATAL error here. unexpected '{'
$content = $post->post_content;
if ($content == "") return false;
$keyword = trim(strtolower(rseo_getKeyword($post)));
@$dom = new DOMDocument;
@$dom->loadHTML(strtolower($post->post_content));
$xPath = new DOMXPath(@$dom);
switch ($heading)
{
case "img-alt": return $xPath->evaluate('boolean(//img[contains(@alt, "'.$keyword.'")])');
default: return $xPath->evaluate('boolean(/html/body//'.$heading.'[contains(.,"'.$keyword.'")])');
}
}
catch (Exception $e)
{
echo 'Exception caught: ', $e->getMessage(), "\n";
}
}
答案 0 :(得分:6)
我唯一能想到的是你使用的是PHP 4,它不支持异常处理。所以它认为try
是某种常数,但不期望{
存在。
您应该收到解析错误,而不是致命错误。
答案 1 :(得分:1)
该代码100%有效。也许错误在其他地方。另外,DOM函数不会抛出异常 - 您可能希望查看libxml_use_internal_errors
并将其设置为抛出异常。
答案 2 :(得分:0)
我已将代码粘贴到新文件中并运行它:没有错误。问题可能在您的代码之上?
答案 3 :(得分:0)
开关模块后的第14行。在catch块之前删除第二个}