【PHP】下らねぇ質問はここに書き込みやがれ 49
レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん
2007/06/26(火) 03:03:40ID:ox2uyHLdPHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り
◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 45 (※実質48)
http://pc11.2ch.net/test/read.cgi/php/1180181033/
◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで
0951nobodyさん
2007/07/10(火) 13:05:35ID:???というのをしたいのですが、どうすればいいのでしょうか?
0952nobodyさん
2007/07/10(火) 13:17:31ID:U8xD7AIKif (count($arr_str[0] >= 3) {
//http が3つ以上入っている
}
0954nobodyさん
2007/07/10(火) 13:36:05ID:???if (substr_count($com, "http") >= 3) {
exit("Error");
}
0955nobodyさん
2007/07/10(火) 13:38:24ID:???0956nobodyさん
2007/07/10(火) 14:30:45ID:???hoge.php?PHPSESSID=hogehoge&mode=l&type=i&ps=2&sn=1
こんなURLの時、なぜかmode=iをつけると
hoge.php?PHPSESSID=hogehoge
に飛んでしまいます。
このiをIに替えたところ普通に飛んだのですがこれはW41Tのみのくそ仕様でしょうか?
0957nobodyさん
2007/07/10(火) 14:46:42ID:???あなたの頭が糞仕様
0959951
2007/07/10(火) 17:27:07ID:???0960nobodyさん
2007/07/10(火) 18:08:59ID:???0961nobodyさん
2007/07/10(火) 22:29:51ID:il4MlV9m正規表現部分を消さずにそのまま配列にすることは出来ませんか?
例えば
A:2ちゃんねるB:ようつべC:ごーぐる
上記の文字列をアルファベット直前で区切り
array[0]=>A:2ちゃんねる
array[1]=>B:ようつべ
array[2]=>C:ごーぐる
として分けたいのです。
explodeやmb_splitを使用すれば区切り文字(例だとアルファベット部分)
が消えてしまいダメでした。
何か良い方法があればお願いします。
0962nobodyさん
2007/07/10(火) 22:40:18ID:???(A: B: C:のあとにくるものは.*)?
0963nobodyさん
2007/07/10(火) 22:52:32ID:???$str ='A:2ちゃんねるB:ようつべくC:ごーぐる';
preg_match_all('|([A-Z][^A-Z]*)|',$str,$matches);
print_r($matches);
0964nobodyさん
2007/07/10(火) 23:06:09ID:???↑これは・・・?
0966nobodyさん
2007/07/10(火) 23:15:54ID:???0967nobodyさん
2007/07/10(火) 23:32:00ID:???0968nobodyさん
2007/07/10(火) 23:35:53ID:QKw5baye0970nobodyさん
2007/07/10(火) 23:53:39ID:???むしろスラッシュはurl、パス系でバッティングしていちいちエスケープするのめんどいから使わないよ。
0971nobodyさん
2007/07/10(火) 23:57:45ID:???別に威張って言われても困る
|はメタ文字として普通に良く使うから使わない
0972nobodyさん
2007/07/10(火) 23:59:25ID:1F2Ht5WN0973nobodyさん
2007/07/11(水) 00:03:56ID:???0974970
2007/07/11(水) 00:05:36ID:????それも好みだろ。別に威張ってないよ。
自分的には#使うと一番見やすいけどURIのアンカーの時に
ひっかかるから普段は!でやってる。
0975nobodyさん
2007/07/11(水) 00:06:50ID:???先読み言明でmb_splitしてやりゃいいと思うよ
>>968
文字をiconvしてからbin2hexして16進表記の文字列を得るか、
iconvしたものの各バイト部分を、ordを使って数値化して、
一文字目の256倍した値と二文字目を足し合わせればいいと思うよ。
0976nobodyさん
2007/07/11(水) 00:11:18ID:???本当にアルファベット一文字だけで区切ってるところじゃね
0977nobodyさん
2007/07/11(水) 00:18:45ID:???0978961
2007/07/11(水) 00:20:29ID:YtVM4RER0980nobodyさん
2007/07/11(水) 00:28:27ID:???マニュアルのそんなとこよんだことねーよ
つかお前はマニュアル一字一句記憶してるおバカさんか天才様であらせられるのか?
正直phpのエラー表示は初心者には便利だけど
機能そのものがなくていんじゃない、てのが俺の感想
0981961
2007/07/11(水) 00:38:07ID:YtVM4RER良くわからないので混乱しています・・・。
>>963さんの案はだめなのでしょうか?
具体例として挙げて頂いて非常にありがたいのですが、
もっと的確な方法があるのでしょうか?
「先読み言明」というのも難解そうなので、
他にも方法があればご教授お願いします。
0983nobodyさん
2007/07/11(水) 01:42:10ID:hjtLLu8nIDが出ないのをいいことにWebProgに粘着しているのがいるんで、気にしないでOK
デリミタについては何でもいいが、俺の場合はvi使ってると / ! : # はよく使う、
マニュアルとかはデフォルトの/が例示されてる。
デリミタについては何でも良いが、文字列中に含まれないもの(エスケープが面倒でないもの)を使う方が良い。
ちなみに、そもそも論だが、文字列自体が
A:2ちゃんねるB:ようつべC:ごーぐる の様なフォーマットで渡ってこないのが一番かと思うが。
汎用的なフォーマット (, "," ',' のようなCSV形式とか、もっと柔軟なJSON形式とか,タブ区切りのTSV形式とか)で渡せるなら
そうしておいた方がよいかと思われ。
0984nobodyさん
2007/07/11(水) 03:15:31ID:6lkOIDSnphpでプログラムを書いていてわからない所があり、参考になるプログラムを探した所perlしか見当たりませんでした。
下記のperlスクリプトは私が必要だと思われるスクリプトの一部を書き出しました。
必要であればスクリプトURL等書きます。宜しくおねがいします。
# IMG タグを変換する(cid方式にまとめる)
my $filelist = {};
$content =~ s#(< (?:IMG|INPUT) \s[^>]*? SRC=)
('[^'>]+'|"[^">]+"|[^">\s]+)
((?:\s+[^>]*)? >)
#&conv_img_tag( $1, $2, $3, $filelist )#gexi;
$content =~ s#(< (?:BODY|TABLE|TR|TD) \s[^>]*? BACKGROUND=)
('[^'>]+'|"[^">]+"|[^">\s]+)
((?:\s+[^>]*)? >)
#&conv_img_tag( $1, $2, $3, $filelist )#gexi;
$DEBUG and print STDERR "[img=",scalar(keys %$filelist)," tags]\n";
0985984
2007/07/11(水) 03:19:32ID:6lkOIDSnsub conv_img_tag {
my( $prefix, $src, $suffix, $imghash ) = @_;
return unless ref $imghash;
# "" で囲まれていたら
$src = $1 if ( $src =~ /^["'](.*)["']$/s );
# cid は img01 からカウントアップ
my $cnt = scalar keys %$imghash;
my $cid = sprintf( "cid%02d", $cnt + 1 );
# 既に同じ画像を使っていたら同じ cid とする
foreach my $prev ( sort keys %$imghash ) {
if ( $imghash->{$prev} eq $src ) {
$cid = $prev;
last;
}
}
$imghash->{$cid} = $src;
my $ret = sprintf( '%s"cid:%s"%s', $prefix, $cid, $suffix );
$ret;
}
phpに書き直してくれる方がいれば嬉しいんですが、それは厚かましいので
ヒントや参考URLでもありがたいです。宜しくおねがいします。
0986nobodyさん
2007/07/11(水) 04:00:44ID:???0987nobodyさん
2007/07/11(水) 06:12:43ID:???perlスクリプト⇒phpスクリプト移植要望スレ
http://pc11.2ch.net/test/read.cgi/php/1035700861/
0988nobodyさん
2007/07/11(水) 08:53:53ID:6GQbuCRJ改行コードは\nで保存するのでしょうか?
それとも\r\nで保存するのでしょうか?
0989nobodyさん
2007/07/11(水) 11:01:51ID:???それは、ファイルを転送するときのftpクライアントのソフトによる。
もっといえば、ファイルの設定による。
むかしホームページを始めて作成したころ画像を転送したら、
どうしても画像だけが表示されずに四苦八苦した思い出が有る。
画像のところが赤の×印が表示されたままだった。
何もしらない俺はこういう画像に加工してしまったのかと、
ftpクライアントソフトの設定を疑わず、むしろ画像加工ソフトの
取扱説明書を何回も読み返してしまった。
画像加工ソフトは、paintshopだったのだが、やはりphotoshopと
違って安い画像加工ソフトは駄目なのか、と最後はソフトのせいにしてしまいった。
今では、その買えなかったphotoshopを使いこなす何ちゃってデザイナーとして
飯を食っているけど。今ではいい思い出です。
0990nobodyさん
2007/07/11(水) 11:02:07ID:???Linuxに上げて動かしたかったら\nに変換しないといけない。
文字コードの話ではない。
まぁFTPクライアント使えば勝手に変換してくれると思うけど。
0991984
2007/07/11(水) 12:04:37ID:6lkOIDSn引用元:Kawa.net xp (http://www.kawa.net/)
http://www.kawa.net/works/perl/i18n-emoji/i18n-emoji.html
0992nobodyさん
2007/07/11(水) 13:25:41ID:???直接Linuxにデータを渡したこと思い出した…
なんで実行できなかったのかやっと理解した
0994nobodyさん
2007/07/11(水) 13:32:19ID:???この件について熱く語ってください。
0995nobodyさん
2007/07/11(水) 13:42:35ID:???0996nobodyさん
2007/07/11(水) 13:57:07ID:???なんだよPHPでoggvorbisって
需要あんのかよ
0997nobodyさん
2007/07/11(水) 14:12:14ID:???nkfでがばっと変換する
#!/bin/sh
while [ -n "$1" ]; do
if [ -e "$1" ]; then
TMPFILE=nkftmp$$
nkf --utf8 -Lu $1 > $TMPFILE
mv $TMPFILE $1
echo $1
fi
shift
done
0998nobodyさん
2007/07/11(水) 14:20:33ID:VJ3pLPWUフォーム側:
<FORM action="hoge.php" method="POST">
<input type="hidden" name="list" value="<?php echo $args;?>">
</FORM>
受け取り側:
$list = $_POST["list"];
var_dump($list); 結果→Array
0999nobodyさん
2007/07/11(水) 14:34:05ID:???http://jp.php.net/faq.html#faq.html.arrays
1000nobodyさん
2007/07/11(水) 14:41:08ID:???10011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。