- 締切済み
MTをphp化したあとにRSSリーダーでエラーが出る。
タイトルそのままなのですが、 MTをphp化し、ソースの1行目も <?php echo '<?xml version="1.0" encoding="UTF-8" ?>'; ?> に書き換え、通常のブラウザで見る分にはきちんと表示されているのですが、 RSSリーダーで読み込むと Parse error: parse error, unexpected T_STRING in …php on line 1 のエラーになってしまいます。 解決策をご存知の方がいらっしゃいましたらご教授ください。 よろしくお願いします。
- ブログ
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- Muller3
- ベストアンサー率81% (800/979)
私もあまり詳しくはないのですが、RSSリーダーで読むのはATOM/RSD/RSS2.0といったフィードファイルかと思いますので、メインページの1行目の書き換えが影響するかなあ…? フィードファイルの1行目まで書き換えた、ということはないですよね…。
- -chiffon-
- ベストアンサー率39% (303/768)
おはようございます。 あまり詳しくないのですが、私が使っているものからのコピペですが、1行目は <?php echo('<?xml version="1.0" encoding="<$MTPublishCharset$>"?>') ?> にしてあります。 質問中で書かれているものと多少違いがあるので、それが理由かはわかりませんが、回答させていただきました。 関係なかったらすみません。
お礼
早速の回答ありがとうございます。 ソースの1行目を書き換えたのですが、やはり結果は同じく、エラー文が…泣き。 しかも、読み取れるRSSリーダーと、読み取れないRSSリーダーがありました。 誰か、解決策をご存知ないでしょうか・・・。
関連するQ&A
- phpと<?xml version="1.0" encoding="utf-8"?>
phpファイルの頭に<?xml version="1.0" encoding="utf-8"?>を入れると Parse error: syntax error, unexpected T_STRING in ・・・ というエラーが出ます。 なぜでしょう?
- ベストアンサー
- PHP
- php 何故、エラー???
いつもお世話になりありがとうございます。 標記の件。 $subject = "お仕事に関するお問い合わせ"; がエラーになってしまいます。 PHP Syntax Check: Parse error: syntax error, unexpected variable "$subject" in your code on line 2 全体のコードは下記です。 <? php $subject = "お仕事に関するお問い合わせ"; $body = "お見積の件で、連絡をしました。"; ?> <!doctype html > <html > <head > <meta charset =" utf-8"> <title>お問い合わせ</title> </head> <body> <h1><? php echo $subject ?></h1> <p><? php echo $body ?></p> </body > </html > どうして2行目がエラーになるのでしょうか? どうか教えてください。 ご回答のほど宜しくお願い申し上げます。
- ベストアンサー
- PHP
- RSSのXMLロードで失敗してしまう
RSSのデータを取得する、という処理を行いたいのですが、 文字コードの件でひっかかってしまっているようで なかなか前に進むことができません。 ************ // RSSの内容を取得する $rss_text = file_get_contents(※RSSのフィードURL); // RSSの文字エンコーディングを変換→再変換 $rss_text = mb_convert_encoding($rss_text, 'SJIS', 'UTF-8'); $rss_text = mb_convert_encoding($rss_text, 'UTF-8', 'SJIS'); $rss_text = preg_replace('/[\x00-\x1f]/', '', $rss_text); // RSSをパースする $rss_xml = new SimpleXMLElement($rss_text); if ($rss_xml) { // XML解析に成功した場合 // SimpleXMLElementオブジェクトからデータを取得 $items = $rss_xml->item; foreach($items as $item) { echo 'ID:'. $item->guid. '<br />'; echo 'リンク:'. $item->link. '<br />'; echo '日付:'. $item->pubDate. '<br />'; echo 'タイトル:'. $item->title. '<br />'; echo '本文:'. $item->description. '<br />'; } } ************ こういったコードを組んでいるのですが、現状では Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : attributes construct error in... Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in... Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Couldn't find end of Start Tag rss line 1 in... Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in... Warning: simplexml_load_string() [function.simplexml-load-string]: Entity: line 1: parser error : Extra content at the end of the document in... Warning: simplexml_load_string() [function.simplexml-load-string]: ^ in... このようなエラーが表示されてしまいます。 自分なりに文字コードを処理しているつもりではあるのですが、 他にも何かしなければならないことがあるのでしょうか? どうぞ知恵を貸していただければと思います。 よろしくお願いいたします。
- ベストアンサー
- PHP
- Ruby RSSの文字置換について
RubyでRSSリーダーを作成しているのですが、 読み込んだRSSのエンコード(utf-8)とプログラムのエンコード(cp932)が異なるため、 エラーが発生しました。 <プログラム> ------------------------------------------------------- # encoding: cp932 require 'open-uri' require 'rss' xml = nil open("http://codezine.jp/rss/new/20/index.xml") { |http| xml = http.read } rss = RSS::Parser.parse(xml.force_encoding("utf-8")) puts "#{rss.channel.title.encode('cp932', 'utf-8')}"\ + "#{rss.channel.pubDate.strftime("%Y/%m/%d %X")}" rss.items.each do |item| puts '--------------------------' puts item.title.encode('cp932', 'utf-8') puts item.pubDate.strftime("%Y/%m/%d %X") puts item.description.encode('cp932', 'utf-8') end ------------------------------------------------------ <エラーメッセージ> ------------------------------------------------------ rss_r.rb:18:in `encode': U+2013 from UTF-8 to Windows-31J (Encoding::UndefinedConversionError) ------------------------------------------------------ 以下のサイトを参考にして文字を置換しようと思ったのですが、 http://qiita.com/yugo-yamamoto/items/0c12488447cb8c2fc018 rssはStringクラスではないため、trメソッドが使えません。 どのようにすれば文字を置換できるのか教えていただけますでしょうか。
- ベストアンサー
- Ruby
- MTのPHP化で500 Internal Server Error
非常に恐縮なのですが、一言ご助言頂ければと思います。 MTのPHP化を実行したのですが、サイトがhtmlの時は普通に表示されていましたが、 PHP化したところ、500 Internal Server Errorが表示されました。 ●サーバー sakura スタンダード ●MT設定 設定⇒公開の拡張子、アーカイブ、インデックスの出力ファイル名をPHPに変更済み。 <?xml version="1.0" encoding="<$MTPublishCharset$>"?> を <?php echo('<?xml version="1.0" encoding="<$MTPublishCharset$>"?>') ?> に変更済み ●バージョン MT3.35です。 色々と検索してみると、 http://web.fruy.com/archives/20060705250.php に解決策が書いてありました。 ■修正前 186行目 # DBUmask 0022 # HTMLUmask 0022 # UploadUmask 0022 # DirUmask 0022 201行目 # HTMLPerms 0777 # UploadPerms 0777 ■修正後 186行目 # DBUmask 0022 HTMLUmask 0022 # UploadUmask 0022 DirUmask 0022 201行目 HTMLPerms 0777 # UploadPerms 0777 これは 1、上書きアップで良い 2、既にある他のhtmlファイルMTブログと共存できる と考えて良いのでしょうか? それともhtml仕様でインストールしているので途中でPHP化しても 困っちゃう、と言われているのでしょうか? PHP仕様で行う場合は再インストールとなるのでしょうか? 誠に恐縮で申し訳ないですが、よろしくお願い致します。
- ベストアンサー
- ブログ
- PHPのエラー「Unexpected character ...」「syntax error, unexpected ...」について
PHP Warning: Unexpected character in input: ''' (ASCII=39) state=1 in /home/***/***.php on line 25 PHP Parse error: syntax error, unexpected '<' in /home/***/***.php on line 26 という2行のエラーが表示されました。 まったく明快な答えは探せませんでした。 もしも少しでも手がかりになるような情報がありましたら教えて下さい。 お願いします。
- 締切済み
- PHP
- PHPのエラーについて
データベースから出力し、リンクをつけたいと考えていますが、下記のようなエラーが出力されます。 どのように対応すれば解消されるでしょうか? データベースにはthread_idという項目は存在します。 echo から始まる列が38行目にあたります。 よろしくお願いします。 【コード】 <?php $sql = "SELECT * FROM thread WHERE category_id =1"; $date = mysql_query($sql,$link); while ($post = mysql_fetch_assoc($date)) { $thread_id = $post['thread_id']; echo '<br>' . '<a href="thread.php?id=<?php echo htmlspecialchars($post['thread_id']); ?>">' . $post['thread_title'] .'</a>'.'<br>'; } ?> 【エラー】 Parse error: syntax error, unexpected 'thread_id' (T_STRING), expecting ',' or ';' in C:\xampp\htdocs\index.php on line 38
- 締切済み
- PHP
- phpのエラー(T_LNUMBER)について
Parse error: syntax error, unexpected T_LNUMBER, expecting ',' or ';' in /..../..../result.php on line 202 というエラーが出ます。 このエラーはresult.phpファイルの202行目に「,」もしくは「;」が足りないよという意味を示していると思うのですが、どう足りないのかというところでひっかかっています。 改行してみたりして行数を確認してみると、特定のコードの箇所に対するエラーでした。 以下が該当する202行目のコードです。 if ($p > 1) { echo "<font size=¥"1¥"><a href=¥"$_SERVER[PHP_SELF]?p=$prev1¥"><</a></font>"; } 上記コードのecho "~~~~~の行が202行目です。 これはどこが間違っているのでしょうか? もしくはそもそも違う部分で間違っている可能性があるということなのでしょうか。。。 アドバイスをいただけないでしょうか? よろしくお願いします。
- ベストアンサー
- PHP
- PHPを拡張子 .html で動作させたいときは・・
PHPを拡張子 .html で動作させたくて .htaccess に AddType application/x-httpd-php .htm .html と 記述して使用しているのですが、そのページのリンク先に <?xml version="1.0" encoding="Shift_JIS"?>が記述してあると リンク先に移動したときに Parse error: syntax error, unexpected T_STRING in /home/sites/lolipop.jp/users/*****/web/uonome/index.html on line 1 と、エラーが表示されてページが表示されません。 <?の部分がエラーになる要因みたいなのですが、 この状態を回避するには<?xml version="1.0" encoding="Shift_JIS"?>を 削除するしかないでしょうか? できれば<?xml version="1.0" encoding="Shift_JIS"?>を 削除しない方法があればと思い、質問させていただきました。
- ベストアンサー
- PHP
お礼
回答、ありがとうございます。 今確認してみたのですが、フィードファイルの1行目は書き換えてませんでした… 一応、書き換えたのは、phpにしたメインページとアーカイブページのみになります。