ベストアンサー 文字列を%+2桁のヘキサ 2005/09/15 19:07 の列に変換するPHPの関数はあるでしょうか? foo.php?x= の後につける文字列を作りたいのです ここに置けない文字列があると困るので変換しておきたいのです みんなの回答 (1) 専門家の回答 質問者が選んだベストアンサー ベストアンサー yambejp ベストアンサー率51% (3827/7415) 2005/09/15 19:49 回答No.1 urlencode(文字列)でいけるはずです。 質問者 お礼 2005/09/15 20:04 ありがとうございます うまくいきました ブランクが+になりました 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発PHP 関連するQ&A 文字列を quoted-printable 文字列に変換したい 例えばShift_JISの文字列をquoted-printable文字列に変換したいのですが、IMAP関数を使わずに行うことはできないものでしょうか? PHPを使ってvcalendarファイルを作りたいと思っているのですが、今借りているレンタルサーバではimap_8bit関数が使えないもので。 PHPの文字列の比較について PHPの文字列の比較について質問です。 $hoge = "文字列¥¥テスト"; $foo = "文字列¥テスト"; とあった場合 var_dump($hoge == $foo); とすると trueがかえってきます。 バイト列としてみた場合 エスケープしたバックスラッシュと 構文上、エスケープの必要のないバックスラッシュの文字列上の 比較ですがこれが、なぜかtrueがかえってきます。 これは、当然の結果なのでしょうか? PHPは文字列を比較するさい、バイト列としての文字列のならびより アウトプットされる結果を比較しているということでしょうか? それとも、単純に上記変数$hogeと$fooはバスックスラッシュの使用方法は 関係なく同一のものとして扱われるのでしょうか? 文字列から、4桁ないし6桁数値だけ抜き出す。 テキスト文字列内にある、4桁~6桁 の連なる数値だけ抜き出したいです。 なにかいい関数とかないでしょうか。 例) 適当な文字列1234その他の文字列567890AZKNBU79ddAflP@K ↑ ↑ ここと この部分だけ抜き出し、 これらを適当な変数に代入。 ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム 文字列検索 文字列検索 テキストファイルの検索を行いたいです. 下記のようなサンプルファイルでfooを検索し, 含まれるならマッチした個数,含まれないならnilを返す関数を作りたいです. mecabを用いて形態素解析を1行ずつしようかと思ったんですが, 大量のファイルを処理する予定なので,オーバヘッドが気になります. 関数でgrepがあるみたいですが,マッチした行しか返されません. 標準関数で1行ずつよみこんで,1行のなかでマッチした回数を返す関数はありますか? --sample.txt-- foo foo bar bar foo hoge,hoge,hoge,hoge hage-hage-hage-foo -- end -- 特殊な文字列のデコードについて ご教授願います。 迷惑メールなどに多いのですが、下記の様に記述されている文字列があります。 ↓↓↓↓↓↓ =1B$B"(%a!<%k1\MwL5NA"(=1B(B 上記の文字列をフリーウェアの「MBaker2」でデコードすると ↓↓↓↓↓↓ ※メール閲覧無料※ の様に、読める形の文字列に変換されます。 こうした形で意図的にエンコード(?)された文字列をPHPを使ってデコードするにはどうしたら良いのでしょうか? メールクライアントのOutlook Express6等でも読めるので、一定の法則に則って変換されていると思うのですが、そのアルゴリズム(?)が判りません。 PHPのマニュアルを調べてデコード系の関数を色々と試してみましたが、どうにも上手く行きません。 前述の「MBaker2」のヘルプから、HTML特有の制御文字列と漢字コードが関係している所までは判ったのですが、ココで壁にぶつかってしまいました。 PHPで人が読める形にPHPで処理するにはどうしたら良いのでしょうか? 宜しくお願いします。 P.S PHPのバージョンは 5.2.6 を使い、PHPでの入出力は、UTF-8で統一しています。 数値を4桁の文字列に戻す方法 上限4桁の数値を、同じく4桁の文字列に戻すにはどうしたらよいでしょうか? ASC関数を使って「数値」を「文字列」にするのはできます。 しかし、例えば『1』にASC関数を使用すると、『0001』ではなく、文字列の『1』になります。 また、書式で『1』を『0001』に見せるのも不可です。『0000』~『9999』の4桁の文字列に打ちかえるには、どうしたらよいでしょうか? 文字列の変換について 最近phpをはじめたものです。 質問ですが、 20081107180000 という文字列を 2008-11-07 18:00:00 という文字列に変換したいんですが、 どういった処理を行えばよいのでしょうか? 数値を文字列に変換 文字列を数値変換する関数はありますが、逆に数値を文字列に変換するにはどうやればよいのでしょうか? 文字数が決まっていないの文字列を自動に取得して別の文字列に変換 取得して切り出す文字列の長さが固定で無い場合には、どのようにしら良いのでしょうか? 例: ある適当な文字列を分割 ETUROGO → E T U R O G O の様に一文字ずつ分割 各文字を他の文字列に変換 E→ 2 や T → 電話 のように全文字を 他の文字に変換 この文字列の長さが固定ならば範囲をして変換 する事が出来るのですが、 取得文字列(この場合は、ETUROGO)の長さが 3文字~20文字程度で決まっていない場合 どのようにしたら自動で変換されるのでしょうか? LEN関数で文字数を取得 LEFT関数やMID関数等で文字列を切り出す。 という事までは考えたのですが。 文字数が変化してしまうとやり方が分かりません。 また、上記の場合は英文字なのですが同様に 文字列の長さが固定ではなく(4文字~20文字の間) ”東京携帯配備” を ”東京” ”携帯” ”配備” のように単語で分割し同様に他の文字列に変換 するという場合は、少し異なるのだと思うのですが INDEX関数等を使えば良いのかな? とも思うのですが過去の例を見ても理解出来ません。 どうかお教え願います。宜しくお願い致します。 文字列を実数に変換するにはどうしたらいいでしょうか 本に文字列を整数に変換する「atoi」はあったのですが、文字列を実数に変換する関数はないのでしょうか。教えて下さい。 文字列の入れ替え 2つのchar型配列x[],y[]に格納された文字列を入れ替えるプログラムを作成せよ。ただし入替え処理には、関数swap_array(char [],char [])を作成して用いること。という問題なのですが、下記の実行例では、2つの文字列xとyをキーボードから入力し、入れ替えた後に表示している。 <実行例> % ./irekae 文字列x (20字まで)? Mojiretsu 文字列y (20字まで)? Irekae 関数swap_array()を呼び出しました 入替後の x: "Irekae" 入替後の y: "Mojiretsu" % となっているのですが文字列を格納するところまでしかわかりません。 どなたか教えていただけないでしょうか? #include<stdio.h> int main(void) { char x[21]; char y[21]; printf("文字列 (20字まで)? "); scanf("%s", x); printf("文字列 (20字まで)? "); scanf("%s", y); 文字列を規則にしたがって変換する処理の名前 文字列を規則にしたがって変換する処理の名前はどう言うのでしょう? 文字列の中でいくつかの関数を呼び出すことが出来て、その関数の結果は文字列として関数の部分と置換されます。 文字列を文字列に変換する処理です。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム 実数→文字列の方法 文字列を実数に変換するのに関数atofを使いますが、それとは逆に、 プログラム内で算出された実数を文字列にどう変換したらよいのでしょうか? 算出された実数を配列Xに納め、それをfopenで書き込み用として開いてるファイル(ポインタ名はfp)に fputs(x,fp) としたら error: cannot convert `double*' to `const char*' for argument `1' to `int fputs(const char*, FILE*)' と表示されてしまいました。実数を文字列に変換してからでないとダメかと思っています。 文字列に含まれている「,」をカウントする PHP4.x.xです。 初心者です。 以下のような文字列の「,」も数を数えたいのですが、どうしたらいいいでしょうか? 以下のような文字列です。 田中,佐藤,鈴木,前田 どうぞアドバイスよろしくお願いします!! 文字列検索の関数 PHP初心者です。 今、文字列$strに使われている文字をチェックして、エラーのときはその文字を表示させたいと思っています。 文字列 $strに特定の文字(B,Z,J,O,X,*)が入っていたらエラーで、エラーになった文字を表示させたいと思っています。このとき、使用する関数はpreg_match_allでいいのでしょうか。 今は、下記のように書いています。 if(preg_match_all("/[B,Z,J,O,X,*]/i",$aaseq[$i],$moji[$i])){ ほかに適当な関数あるでしょうか。 PHPソースファイルの文字列置換をしてから、 PHPソースファイルの文字列置換をしてから、 そのスクリプトを実行する方法を実行しようとしている のですが、うまくいきません。 似たような質問(http://oshiete.nikkeibp.co.jp/qa5496696.html) を参考にして、文字列置換自体はうまくいったのですが、 phpファイル実行時にまったく関係の無いはずの DBアクセスでエラーが発生してしまいました。 変換前前のphpファイルに置換後の文字列を手で入れて、 データベース実行するとうまくいきます。 しかしながら、phpファイルの文字列置換をstr_replaceで実行し、別名保存した後 includeしても、うまくいかないといった状況です。 ちなみに置換後のphpファイル内で $置換後文字列 = "test"; echo $置換前文字列; とすると、置換前文字列が置換後文字列に きちんと変わっているようで、 "test"と出力されます。 もしかすると、原因は違う所に潜んでいるのかもしれませんが、 どこを調べれば良いのか検討がつかず困っております。 どなたか解決手段の分かる方がいらっしゃれば教えて頂けませんでしょうか? -------------------------------------------------------------- 尚、ファイル構成は top |-change (1.php) |-database (2.php) |-search (検索画面[データベース検索の入り口。form action ="./3.php"],3.php) |-base (4.php,5.php[tempファイル]) となっており、 それぞれの中身は 1.文字列置換実行用のphpファイル(1.php): 1-1.file_get_contentsで4のphpファイルを取得 1-2.str_replaceを用いて文字列置換 1-3.文字列置換したファイルをfwriteで4.phpと同じディレクトリに保存(5.php) 1-4.5.phpをincludeする。 1-5.5.phpをunlinkする。 2.データベースアクセス(mysql)用関数を含むphpファイル(2.php): ↓エラーの原因と思われる関数 function connect() { global $host,$user_id,$passwd,$con; $con = mysql_connect($host,$user_id,$passwd); } 置換前phpファイルを手動で文字列置換した場合には 同ファイル内で設定したglobal変数の値がきちんと格納されており、 データベース実行がうまくいきます。 置換後phpファイルでは$host等に値が格納されていないため、 データベース実行がうまくいきません。 グローバル変数の中身は同ファイル内で定義しています。 3.検索を実行した時に呼び出されるphpファイル(3.php): 3-1.include("../change/1.php"); 3-2.1.phpの関数の実行 4.文字列置換前のphpファイル(4.php): /*呼び出し元のディレクトリ位置でないとincludeに失敗する*/ 4-1.include("../database/2.php"); 4-2.2.phpのデータベースアクセス関数を実行する。 5.文字列置換後のphpファイル(5.php): 3-2の1.php関数の実行により、一時的に生成される。 Basicでの文字列操作 いつもお世話になっております。 ActiveBasicを使いBasic(http://ja.wikipedia.org/wiki/BASIC) の勉強をしております。下記の動きをするプログラムを作りたい場合はどうすれば良いでしょうか? 便利な関数や方法がありましたら教えてください。 お願いいたします。 ユーザが入力した数の分だけザイズ11の配列を作成し 例:ユーザが3と入力したら Dim x$(3)[11] 作成した配列に文字列を入れていき x$(0)="文字列01|01" x$(1)="文字列02|02" x$(2)="文字列03|03" 画面に文字列を奇数番目なら"|"から前の文字列を表示 偶数番目なら"|"より後の文字列を表示する 文字列01 02 文字列03 文字列をint型に変換したいのですが 文字列をint型に変換して、計算に使用したいのですが うまくいきません。 char moji[0] = '1' moji[1] = '2' moji[2] = '3' この文字列をひとつずつint型の変数に代入したいのですが atoi関数を使用した場合、文字列全ての値が変換されてしまいます。 どうしたらいいのでしょうか? お答えいただけるとありがたいです。 C言語 プログラミング 文字列 ある文字列X,Yがあるとき、XにYの文字列が含まれているかを検索する関数を作りたいんです。 Xを1文字ずつ、yと比較して行く感じなのはわかるんですが、うまく作ることができません。。 どなたかお願いします! マルチバイト文字の大文字、小文字を区別せずに置換 ある文章に対して、フォームから入力された文字の部分の色を変えて表示するという事をしたいです。 フォームから入力された文字列が[php]として、 php、PHP、Php、phP、php、PHP、Php…など、全角、半角、大文字、小文字関係なく色を変えたい場合、 半角の文字列はeregi_replace()でできると思うのですが、全角の場合はどのように記述すれば良いのでしょうか。 フォームから入力された文字列を全角に変換してmb_eregi_replace()を行ってみたのですが、うまくいきませんでした。 文章を半角に変換すればできるとは思いますが、出来る限りそれはしたくありません。 特に一つの関数で…という事は考えていません。 何か良い方法がありましたらアドバイスをお願い致します。 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
ありがとうございます うまくいきました ブランクが+になりました