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'と言っています。致命的なのはランタイムエラーです。 – webbiedave
これは正しい解決策であるはずです。通常、古い関数/句が閉じられていなければ、より多くのエラーが表示されます。 – Paul
コードを新しいファイルに貼り付けて実行しました。エラーはありません。問題はあなたのコードの上にあるかもしれませんか?
スイッチブロックの後の14行目。 2番目の}をキャッチブロックの直前で削除する
これは '}'を閉じます。 – webbiedave
1}はスイッチ用、2番目は試行の終了です。それはいいはずですね。 – Nanne
そのコードは100%有効です。おそらく、エラーは他の場所にあります。注意点として、DOM関数は例外をスローしません。libxml_use_internal_errors
を調べ、例外をスローするように設定することをお勧めします。
- 1. cURL try catchの問題
- 2. T-SQLのTry Catchで何が問題になっていますか?
- 3. Javaのtry-throw-catchの問題
- 4. try catch文のスコープの問題
- 5. try-catch文で囲むべきコードブロックのタイプは何ですか?
- 6. 何が良いですか:int.TryParseまたはtry {int.Parse()} catch
- 7. Scala 2.9のtry ... catch一般化のユースケースは何ですか?
- 8. PHP5:try/catchが失敗するのはなぜですか?
- 9. Try Timer in Try Catch
- 10. ()try {} catch {}
- 11. JavaScript - Try&Catch - 問題をキャプチャするWindow.postMessage()エラー
- 12. try/catchブロックからのブレーク
- 13. PowershellとTry-Catchと外部EXEでの出力リダイレクション/キャプチャの問題
- 14. グローバルのtry-catch(この場合はVB)
- 15. 違いのtry/catch /スローとのtry/catch(e)の間/スロー電子
- 16. Arduinoのtry/catchブロック
- 17. アプリケーションのtry..catchブロック
- 18. try catchの使用
- 19. なぜcatchブロックの...(3点)が存在するのですか?私たちにできるのtry catch文で
- 20. powershellとschtasksでtry-catch-fail
- 21. このPHPスクリプトで何が問題なのですか? (キャプチャ)
- 22. このXMLファイルで何が問題なのですか?
- 23. このコードで何が問題なのですか
- 24. このsqlコードで何が問題なのですか?
- 25. このif文で何が問題なのですか?
- 26. このアセンブリコードで何が問題なのですか
- 27. このクエリで何が問題なのですか?
- 28. このアスペクトで何が問題なのですか?
- 29. このPHPスクリプトで何が問題なのですか
- 30. ここに何が問題なのですか?
作品[こちら](http://ideone.com/PjAqO) – marcog
偶然にPHP 4を使用していませんか? – NikiC
これは奇妙です。この関数の上のコードもチェックしたことはありますか?閉鎖されていない関数、if節などのために起こる可能性があります - 私は分かりませんが、このコードは正しく見えます。編集:marcogの答えはまた、このコードの部分とは何の関係もないことを強調しています。だからあなたはどこか別の場所を調べるべきです。 – Paul