• 締切済み

数字を入れたい(初心者です)

XXX に 1~90までの数字を入れたいです $search ='全<FONT color=\'#000\'>&nbsp;'; $replace =''; $search2 ='&nbsp;</FONT> '; $replace2 =''; $blogXXX = file_get_contents("http://abc/index.cgi?category=XXX"); $blogXXX = mb_convert_encoding($blogXXX, "UTF-8", "Shift_JIS"); $blogXXX = mb_strrchr($blogXXX,'全<FONT color=\'#000\'>'); $blogXXX = str_replace(strstr($blogXXX,"件"),"",$blogXXX); $blogXXX = str_replace($search,$replace,$blog.$i); $blogXXX = str_replace($search2,$replace2,$blogXXX); そして echo "$blog1" などとしたいです どのように書けばよろしいでしょうか

  • PHP
  • 回答数2
  • ありがとう数0

みんなの回答

回答No.2

そもそも配列が使えない理由ではあるのか?

  • noris02
  • ベストアンサー率74% (56/75)
回答No.1

意図が少々 わからないのですが、 XXXに 1~99までの数字が入る 変数を 98個作りたいということでしょうか for($j=1;$j<99;$j++){ $blogXXX="blog".$i; $$blogXXX = file_get_contents("http://abc/index.cgi?category=".$j); $$blogXXX = mb_convert_encoding($blog.$j, "UTF-8", "Shift_JIS"); ・・・・ }

関連するQ&A

  • mb_ereg_replace での文字変換

    PHPでフリーの掲示板を制作中です。 目立たせようとする記号を削除しましたがうまく動きません。 $html = mb_ereg_replace('△', '', 'あああ△あああ'); ・希望結果 ああああああ ・実際の結果 ああ 文字コードは全て EUC-JP です。 また以下を追加するとエラーがでました。 $str="あああ△あああ"; $str = mb_convert_encoding($str, 'EUC-JP', 'auto'); ・エラー Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unable to detect character encoding in そもそもmb_convert_encodingを使わない方が良いのか使い方が悪いのかも解りませんがアドバイスお願いします。

    • ベストアンサー
    • PHP
  • PHP+Postgres 「髙」が文字化け

    DB上に格納した文字列を取得し、PHPで出力すると、 「髙」(はしごだか)等、一部の文字が「□・」のような見た目に化けてしまいます。 環境は以下です。 Linux(CentOS 5) PHP 5.1.6 Apache 2.2.3 PostgreSQL 8.4.3 文字コードは以下です。 Postgres:EUC-JP PHPソース:EUC php.ini の[mbstring]はコメントのまま変更していません。 文字コードの変換を試してみたのですが、「髙」としては出力できませんでした。 Windows上では「CP51932」に変換すると正常に出力できましたが、Linux上ではやはり駄目でした。 mb_language("uni"); mb_internal_encoding("euc-jp"); mb_http_input("auto"); mb_http_output("euc-jp"); $str = "髙橋"; print(mb_convert_encoding($str, "EUCJP-win")); print(mb_convert_encoding($str, "EUCJP-win","EUC-JP")); print(mb_convert_encoding($str, "SJIS")); print(mb_convert_encoding($str, "SJIS","EUC-JP")); print(mb_convert_encoding($str, "SJIS-win")); print(mb_convert_encoding($str, "SJIS-win","EUC-JP")); print(mb_convert_encoding($str, "UTF-8")); print(mb_convert_encoding($str, "UTF-8","EUC-JP")); print(mb_convert_encoding($str, "EUC","SJIS")); print(mb_convert_encoding($str, "Unicode")); print(mb_convert_encoding($str, "Unicode","EUC-JP")); print(mb_convert_encoding($str, "UTF-8", "sjis-win")); print(mb_convert_encoding($str, "CP51932")); print(mb_convert_encoding($str, "MS932")); print(mb_convert_encoding($str, "MS932","EUC-JP")); print(mb_convert_encoding($str, "UTF-8","EUCJP-win")); print(mb_convert_encoding(mb_convert_encoding($str, "EUCJP-win" ), "UTF-8","EUCJP-win")); print(mb_convert_encoding(mb_convert_encoding($str, "EUCJP-win","EUC-JP"), "UTF-8","EUCJP-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win" ), "UTF-8","SJIS-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win","EUC-JP"), "UTF-8","SJIS-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win" ), "EUCJP-win","SJIS-win")); print(mb_convert_encoding(mb_convert_encoding($str, "SJIS-win","EUC-JP"), "EUCJP-win","SJIS-win")); http://blog.livedoor.jp/loopus/archives/50160285.html 上記サイトによると、解決法は「EUC-JPで出力しないこと」という事でしたが、 文字コードを変換して出力できるような事を書いているサイトもあり、結論が出せずにいます。 ソースを書き換えるのは避けたいのですが、いい方法がありましたらご教示ください。

    • ベストアンサー
    • PHP
  • Shift-JISからUTF-8への変換が出来ません

    初歩的な質問で申し訳ありませんが、大変困っております。ただいまimagettftext()を使って日本語主力したく悪戦苦闘しております。  ページ自体はShift-JISで制作していますのでimagettftext()で日本語を出力する場合はUTF-8へ変換して出力するところまでは知れべていて分かりました。しかしいざmb_convert_encoding()で変換しようとするとなぜかUTF-8へ変換されません。 $str = mb_convert_encoding($str,"UTF-8","SJIS"); print mb_detect_encoding($str);  結果→SJIS しかしこれがEUC-JPなら変換されます。 $str = mb_convert_encoding($str,"EUC-JP","SJIS"); print mb_detect_encoding($str);  結果→EUC-JP なぜなのか原因が分からなく困っております。 どなたかご教授願いませんでしょうか? よろしくお願い致します。

    • 締切済み
    • PHP
  • mb_ereg_replaceについて

    マルチバイトでの置き換えについて質問です。現在は以下のように str_replaceで置き換えしており文字化けはないのですがマルチバイト 対応のmb_ereg_replaceで実行したほうがいい事を知りました。 以下現在のソースです。 // 検索文配列 $search = array("{#aaa#}", "{#bbb#}", "{#ccc#}"); // 置き換え文配列 $replace = array("あああ", "いいい", "ううう"); // 置き換え $str = str_replace($search, $replace, $str); 単純にstr_replaceをmb_ereg_replaceにしてみたのですがエラーに なってしまいました。 置き換えしたい文字が複数あるのでできれば検索文字、置き換え文字を 配列として使用したいのですがどうすればいいのでしょうか? ちなみにですが文字コードはutf-8です。

    • ベストアンサー
    • PHP
  • PHPで指定文字数で切りたい場合

    PHPで、全角と半角の混在した文字列で 全角=1文字、半角=0.5文字として換算した文字数を切り詰めたい場合は どうすれば良いのでしょうか?? 改行コードなどもカウント出来たら尚良いです! 環境は PHPのソースコードはutf-8 入出力はShift-jis ・mb_substrは、半角も1文字とカウントされてしまいます ・mb_strimwidthは、文字幅なので今回は使い物になりません ・mb_strcutはなぜかうまく動いてくれません $str = mb_convert_encoding($str,'shift-jis','utf-8'); $str = mb_strcut($str,0,1000,'shift-jis'); $str = mb_convert_encoding($str,'utf-8','shift-jis'); 500文字になるのを期待したが、出力された文字は512文字になってしまった 全角=1文字、半角=0.5文字の検証は以下のサイトにて行いました http://www.luft.co.jp/cgi/str_counter.php お忙しい中恐縮ですが、 わかる方お教えくださいませ!

    • ベストアンサー
    • PHP
  • スクリプトの書き方その3

    いつもお世話になります。 XOOPSのコードを読んでいるんですが、沢山の方が関与しているので、 スクリプトの書き方もまちまちです。 そのせいで、素人の私は完全に混乱状態になっています。 ※ PHPマニュアルのサイトでは、preg_xxxっていうのは、 /$str/ とういうように、/(スラッシュ)を使っているので、 !, %, | ? が出てくると、何が正しい書き方なのか全くわかりません。 質問 (1) preg_replace("[\r\n]", "", $str) と preg_replace("/[\r\n]/", "", $str) は同じですか? 質問 (2) preg_replace('!<[^>]*?>!', ' ', $string) と、 preg_replace('/<[^>]*?>/', ' ', $string) は同じですか? 質問 (3) (preg_match('!\W(\w+)$!s', $search, $match) と (preg_match('/\W(\w+)$/s', $search, $match) は同じですか? 質問 (4) preg_replace('?/\*.+\*/?sU', '', $val) の ?とはどういう意味ですか? preg_replace('/\*.+\*/sU', '', $val) と同じですか? それとも、 preg_replace('/?/\*.+\*/?/sU', '', $val) と同じですか? 質問 (5) preg_replace("%(?<!\\\\)'%", "\\'", $string) の、%とはどういう意味ですか? preg_replace("/(?<!\\\\)'/", "\\'", $string) と同じですか? それとも、 preg_replace("/%(?<!\\\\)'%/", "\\'", $string) と同じですか? 迷惑かけますが、どうか、教えて下さい。 よろしくお願いします。

    • 締切済み
    • PHP
  • mb_http_output()のあと、サーバーにより挙動が違う

    対処はしたのですが、すこし腑に落ちない点があります。 MySQL、PHPすべての文字コードをUTF-8にしています。 しかし携帯がShift-JISなので、出力時に帳尻を合わすためmb_http_output()を使いました。  $str="内容は、METAタグのContentも含め全部UTF-8のHTMLソースです。";  mb_http_output("Shift_JIS");  $str=str_replace('content="text/html; charset=utf-8"','content="text/html; charset=Shift_JIS"',$str);  exit($str); テストサーバーでは正常にShift_JISで表示されました。 携帯でも確認済みです。 しかし実際のサーバー(さくらインターネットのスタンダード)だと 2行目と3行目の間に  mb_convert_encoding($str,'SJIS','UTF-8'); を挟まないとUTF-8のまま出力されてしまいます。 php.iniでmbstring.*はすべて同じ値にしましたが 違いは埋まりませんでした。 環境設定で何が違うと、 このようなことが生じるのでしょうか?

    • ベストアンサー
    • PHP
  • 文字列のエンコードについて

    例えば以下のコードで日本人がターゲットのサイトを作ったときにエンコードがutf8以外ってありますか?idなどもutf8でなんとかなるのになぜ他の文字コードは必要なのですか? //SJISに変換 $str = "私のidはrxxdtggb63332224667です。"; $result = mb_convert_encoding($str, "SJIS"); echo $result . "\n"; //UTF-8に変換 echo mb_convert_encoding($str, "UTF-8"); //SJISに変換 $str = "gcdddyyghgcc.jpg"; $result = mb_convert_encoding($str, "SJIS"); echo $result . "\n"; //UTF-8に変換 echo mb_convert_encoding($str, "UTF-8");

    • ベストアンサー
    • PHP
  • 配列をmb_ereg_replaceで一気に置き換えるには?

    お世話になります。 mb_ereg_replace関数を使い文字の置き換えを行っているのですが、置き換 えるものが多く、1回で置き換えられないかと思い、質問をさせて頂き ます。 // 検索文配列 $search = array("__tome__", "__hame__", "__hoge__"); // 置き換え文配列 $replace = array("$tome", "$hame", "$__hoge__"); // 置き換え $str = mb_ereg_replace($search, $replace, $str1); とやると Warning: mb_ereg_replace() expects parameter 2 to be string, array given in on line というエラーが出てしまい、うまく置き換える事が出来ません。どのようにすればうまく置き換えられるでしょうか? ご教授のほどよろしくお願いします。

    • ベストアンサー
    • PHP
  • メールの内容が文字化けします・・・

    <? function sendmail($to,$from,$from_name,$title,$message){ /* EUCコードへのエンコーディング */ $to = mb_convert_encoding($to , "EUC-JP","EUC-JP,UTF-8,SHIFT-JIS,ASCII,JIS"); $from = mb_convert_encoding($from , "EUC-JP","EUC-JP,UTF-8,SHIFT-JIS,ASCII,JIS"); $title = mb_convert_encoding($title , "EUC-JP","EUC-JP,UTF-8,SHIFT-JIS,ASCII,JIS"); $message = mb_convert_encoding($message , "EUC-JP","EUC-JP,UTF-8,SHIFT-JIS,ASCII,JIS"); /* 改行コード変換(CR+LFへ変換) */ $to = ereg_replace("\r", "", $to); $to = ereg_replace("\n", "\r\n", $to); $from = ereg_replace("\r", "", $from); $from = ereg_replace("\n", "\r\n", $from); $from_name = ereg_replace("\r", "", $from_name); $from_name = ereg_replace("\n", "\r\n", $from_name); $title = ereg_replace("\r", "", $title); $title = ereg_replace("\n", "\r\n", $title); $message = ereg_replace("\r", "", $message); $message = ereg_replace("\n", "\r\n", $message); /* メールヘッダ生成 */ $header = "From: ".$from_name." <".$from.">\n"; $header .= "Reply-To: ".$from_name." <".$from.">\n"; /* メール本文生成 */ $message = mb_convert_kana($message,"KV"); /* 送信メッセージ言語設定 */ mb_language("Japanese"); /* メール送信処理 */ $rcd = mb_send_mail($to,$title,$message,$header); return $rcd; } ?> 何が原因か分からないのです・・・。 教えていただければ嬉しいですm(__)m

    • ベストアンサー
    • PHP

専門家に質問してみよう