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";
}
}
ответ
Единственное, что я могу придумать, это то, что вы на PHP 4, который не поддерживает обработку исключений. Поэтому он считает, что try
- это какая-то константа, но не ожидает, что там будет {
.
Вы должны получили разбор ошибку, не фатальных ошибки.
+1 Это приведет к точной ошибке в точном месте, которое описывает OP. – webbiedave
За исключением того, что OP должен был сказать 'parse'. Fatal - ошибка во время выполнения. – webbiedave
Это должно быть правильное решение. Обычно появляется больше ошибок, если не было закрытой старой функции/clause. – Paul
Я вставил код в новый файл и запустил его: нет ошибки. Проблема может быть выше вашего кода?
Строка 14 после блока переключателя. Удалить второй} непосредственно перед блоком catch
Это '' 'закрывает' try'. – webbiedave
1} для коммутатора, второй - конец попытки. Так должно быть хорошо, правда? – Nanne
Этот код действителен на 100%. Возможно, ошибка в другом месте. С другой стороны, функции DOM не генерируют исключений - вы можете посмотреть в libxml_use_internal_errors
и настроить его для исключения исключений.
- 1. Что не так с этой попыткой создать и заполнить NSMutableArray?
- 2. Что не так с этой попыткой записать в файл? C++
- 3. Что случилось с этой попыткой использовать SimpleXML?
- 4. Что случилось с этой частично примененной попыткой?
- 5. что случилось с этой попыткой d3 onmouseover?
- 6. Возникли проблемы с попыткой поймать
- 7. Что не так с этой попыткой, используя php для включения файлов functions.php и header.php?
- 8. Что не так с этой попыткой визуализации повернутых эллипсов в Qt?
- 9. Что не так с этой попыткой расширить класс Scala, который содержит параметр vararg
- 10. Что не так с попыткой напечатать имя студента?
- 11. браузера функция обнаружение с попыткой поймать (е)
- 12. Что не так с этой рекурсивной функцией?
- 13. Что не так с этой параллельной картой?
- 14. Что не так с этой заменой?
- 15. Что не так с этой пакетной командой?
- 16. Что не так с этой строкой кода?
- 17. Что не так с этой страницей html?
- 18. Что не так с этой функцией рекурсии?
- 19. Что не так с этой функцией, пожалуйста?
- 20. Что не так с этой командой python?
- 21. Что не так с этой хранимой функцией?
- 22. Что не так с этой грамматикой Bison?
- 23. Что не так с этой переменной jquery
- 24. Что не так с этой случайной галочкой?
- 25. Что не так с этой программой?
- 26. Что не так с этой страницей?
- 27. Что не так с этой строкой SQL?
- 28. Что не так с этой функцией OCAML?
- 29. Что не так с этой командой оболочки
- 30. Что не так с этой зависимостью Ruby?
Работы [здесь] (http://ideone.com/PjAqO) – marcog
Вы не используете PHP 4 случайно? – NikiC
Это странно. Вы уверены, что вы также проверили код над этой функцией? Возможно, это может произойти из-за незакрытой функции, if-clause и т. Д. - я не уверен, но этот фрагмент кода выглядит правильно. EDIT: ответ marcog также подчеркивает, что он не имеет ничего общего с этой частью кода. Поэтому вы должны исследовать где-то еще. – Paul