[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 02/17 00:35 / Filesize : 244 KB / Number-of Response : 996
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【PHP】下らねぇ質問はID出して書き込みやがれ 82



1 名前:nobodyさん [2009/03/09(月) 02:14:28 ID:HyrthkeE]
質問者はまず>>1を良く読むこと(必須!)
過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。

◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 81
pc11.2ch.net/test/read.cgi/php/1234958956/

◆質問用テンプレ
【OS名】vine linux
【PHPのバージョン】php5.26
【連携ソフトウェア】mysql
【質問内容】

◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)

◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

248 名前:nobodyさん mailto:sage [2009/03/15(日) 19:08:08 ID:???]
>>245
nl2br

249 名前:nobodyさん [2009/03/15(日) 19:25:38 ID:tXlRktlT]
>>246
>>248

できました! こんな便利なものがあるなんて知らなかったです
まだまだ勉強不足ですね がんばります

ありがとうございました!

250 名前:nobodyさん mailto:sage [2009/03/15(日) 19:29:36 ID:???]
PHPを使うにはサーバをレンタルすると思いますが、
無料のジオシティーズでもPHPが使えるみたいです。
金を払ってサーバをレンタルするとどういういいことがあるのですか?

ttp://help.yahoo.co.jp/help/jp/geo/perl/perl-02.html

251 名前:nobodyさん mailto:sage [2009/03/15(日) 19:32:02 ID:???]
>>249
独習PHPに載ってるよ

252 名前:nobodyさん mailto:sage [2009/03/15(日) 19:33:13 ID:???]
>>250
(1)
MySQLでPDOが使える(無料のところはPDO使えないことが多い)

(2)
強制挿入される広告が消える

(3)
場合によっては有料のところでは独自ドメインが使えるかも
(無料でも一部使えるところはある)

253 名前:nobodyさん mailto:sage [2009/03/15(日) 19:34:26 ID:???]
(4)
sendomailが使える
(無料のところではsendmailは無効化されていることがおおい)
sendmailが使えないとメールが送れない。

PHPのmail関数は、サーバーのsendmailに仕事を
丸投げしているだけなので、sendmailが動いていないと
何も起きない

254 名前:nobodyさん mailto:sage [2009/03/15(日) 19:36:53 ID:???]
>>250
使うってどういう状況で?

255 名前:nobodyさん mailto:sage [2009/03/15(日) 19:40:38 ID:???]
DBやメールなんかでいろいろ制限があるんですね。
ありがとうございました。

256 名前:nobodyさん mailto:sage [2009/03/15(日) 19:44:18 ID:???]
よく見たら、CGIを利用するには有料じゃないとダメですね。



257 名前:nobodyさん mailto:sage [2009/03/15(日) 19:50:20 ID:???]
無料/安価なサーバーはだいたい重い。
少数のサーバーに人を大量に詰め込むからな。
(そうしないと初期投資を回収できないので仕方ないが)

258 名前:nobodyさん mailto:sage [2009/03/15(日) 19:50:22 ID:???]
ifの代わりにswitchを使ってやろうとしたのですが、
<?php
$i = 3;
switch($i){
case 0:
case 1:
case 2:
case 3:
case 4:
echo "iは0〜4";
break;

default:
echo "iは不明";
break;
}
?>

これがもし、case 0:〜case 4:の部分で、
case 0:〜case 100:までを判断したいとき
どういう風に記述すればいいのでしょうか。

259 名前:nobodyさん mailto:sage [2009/03/15(日) 19:53:05 ID:???]
100行書くしかないのでは?

260 名前:nobodyさん mailto:sage [2009/03/15(日) 19:53:58 ID:???]
横に繋げれば1行で済むのでは?

261 名前:nobodyさん mailto:sage [2009/03/15(日) 20:19:50 ID:???]
なんでifにしないのか理解に苦しむ。

262 名前:nobodyさん mailto:sage [2009/03/15(日) 20:25:12 ID:???]
iが0〜100までかを調べたいなら
if ($i >= 0 && $i <= 100) {
 echo "iは0〜100";
} else {
 echo "iは不明";
}
でいいのでは?

263 名前:nobodyさん mailto:sage [2009/03/15(日) 20:30:46 ID:???]
>>251
宣伝乙

264 名前:nobodyさん mailto:sage [2009/03/15(日) 20:33:50 ID:???]
>>258
switchでcaseが大量になる場合は配列をうまく利用することをおすすめする

function func1() {
}




$case = array(func1(),func2(),func3(),・・・・・func999),


$case[0];

265 名前:nobodyさん mailto:sage [2009/03/15(日) 21:34:38 ID:???]
>>264
www

266 名前:nobodyさん mailto:sage [2009/03/15(日) 22:37:58 ID:???]
>>265
shosinsha otu



267 名前:261 mailto:sage [2009/03/15(日) 22:54:26 ID:???]
>264
せめて
$case = array('func1', 'func2', 'func3');
call_user_func($case[0]);   // $case[0]();でも多分動く
にしとけ。

とりあえずそのコードは実行効率、可読性、保守性などあらゆる観点で最低だ。
後者2つについてはこのコードも大差ないが。

268 名前:nobodyさん mailto:sage [2009/03/16(月) 01:35:07 ID:???]
ふと思ったんだけど、例えば見栄え良く
改行いっぱい使って、

$hoge    = "hoge1"
         . "hoge2"
         . "hoge3"
         ;

こうしたのと、単に
$hoge="hoge1hoge2hoge3";
ってしたのとでは、
上のような改行いっぱい使った場合のが
積み重なってくると、改行使ってないものよりも
読み込みが遅くなる?
改行やスペースは無視になるとはきくけどなんか不安なのです。


269 名前:nobodyさん mailto:sage [2009/03/16(月) 02:37:08 ID:???]
>268
文字列の結合の分遅くなるな、理論上は。
改行も、確かに理屈の上では遅くなる。人間に知覚できる差じゃないけどな。
仮に10000行空行があったとしても、目に見える応答速度差は出ない。
1MB分改行があっても気づかないと思う。

つうか、お前は、ペーパー代を惜しんでウンコした後ケツを拭かなかったりするのか?
ゴミみたいな高速化と可読性を天秤にかけるなら、どう考えても可読性を優先すべきだ。

270 名前:nobodyさん mailto:sage [2009/03/16(月) 06:04:33 ID:???]
javaだと文字列リテラル同士の結合はコンパイル時にオプティマイズされて
結合された文字列になるんだっけか。

スクリプト言語で拘ってもしょうがないとは思うが、気分的にはやってほしいところではあるな。
APCとかのキャッシュ環境なら差がでるかも知れんし。

271 名前:nobodyさん mailto:sage [2009/03/16(月) 11:58:48 ID:???]
「PHPでOOPで書く場合の、helloが出てくるまでの長い一日」

(1)さーって、、、まんず、helloって出すわけだから、
print "hello";
だろ、、、これはまず100%確実、、、

(2)そんで、クラスの宣言せんといかんな、、、

class {


}

、、、っと、、、
あ、、、クラス名、考えないといかんな、、、
はじめてのだから、firstでいいか?
class first {


}

272 名前:nobodyさん mailto:sage [2009/03/16(月) 12:00:24 ID:???]
(3)
そんで、さっきの
print "hello";
を、メソッドの中に入れないといかんのだよな、、、

あ!メソッド名も考えないといかんのだよな、、、
helloを出すメソッドだから、helloでいいか?


function hello(){
print "hello";
}

273 名前:nobodyさん mailto:sage [2009/03/16(月) 12:01:11 ID:???]
(4)
よしよし、、、作業は順調だな、、、
これで、このメソッドを、さっき作った
クラスの中に、放り込めばいいのだよな、、、

class first{


function hello(){
print "hello";
}
}

274 名前:nobodyさん mailto:sage [2009/03/16(月) 12:02:05 ID:???]
(5)

これでクラスは完成、、っと、、、

次は、このクラスをnewして、
オブジェクトに代入せなあかんのだよな、、、

$obj=new first();

275 名前:nobodyさん mailto:sage [2009/03/16(月) 12:03:00 ID:???]
(6)
よしよし、、、

これでインスタンスができたから、
このインスタンスから、->で、クラス内の
メソッドにアクセスすればええんだよな、、、

print $obj->hello();

276 名前:nobodyさん mailto:sage [2009/03/16(月) 12:03:51 ID:???]
>>274
括弧ついてるよ初心者クン



277 名前:nobodyさん mailto:sage [2009/03/16(月) 12:05:51 ID:???]
(7)
<?php
class first{


function hello(){
print "hello";
}
}

$obj=new first();
print $obj->hello();
?>

完成、、、と、、、。
カンタンに説明すると、
firstというクラスを定義しhello()というメソッドを定義し
そのメソッドの中でhelloを出力する命令を書きnewでfirstクラスの
インスタンスを作成しオブジェクト変数に代入しそのできてきた
インスタンスからhello()メソッドにアクセスして最終的にhelloを
画面に出すことに成功しました。

278 名前:nobodyさん mailto:sage [2009/03/16(月) 12:06:40 ID:???]
>>276
どちらでも実行できるんだけど、なんか問題あるなら
それを解説したページをプリーズ

279 名前:nobodyさん mailto:sage [2009/03/16(月) 12:08:53 ID:???]
ちなみに手続型でhelloを出すソースは以下の通り

<?php
print "hello";
?>

280 名前:nobodyさん mailto:sage [2009/03/16(月) 12:10:12 ID:???]
>>276
お前が初心者なのは分かった

281 名前:nobodyさん mailto:sage [2009/03/16(月) 12:19:32 ID:???]
>>276
普通はつけます

282 名前:nobodyさん mailto:sage [2009/03/16(月) 12:21:35 ID:???]
クラス使えばOOPってわけじゃないべ。

283 名前:nobodyさん mailto:sage [2009/03/16(月) 12:25:30 ID:???]
つか全然OOPじゃないわな

284 名前:nobodyさん mailto:sage [2009/03/16(月) 12:29:26 ID:???]
>>282
ものの考え方・概念のことだから本質的にはそうだね
ただOOPの核となる継承やらカプセル化をする為にはクラスを使わないといけない

helloを出力するだけにわざわざクラス使うのはPHPではただの冗長

285 名前:nobodyさん mailto:sage [2009/03/16(月) 13:00:26 ID:???]
hello出力するだけのただの形ではあるから参考にならないなあ
OOP勉強してる人いないの?

286 名前:nobodyさん mailto:sage [2009/03/16(月) 13:10:52 ID:???]
>>285
一応、スレはある。
が、もう死にかけの体。

PHPでOOP
ttp://pc11.2ch.net/test/read.cgi/php/1172205352/l50



287 名前:nobodyさん mailto:sage [2009/03/16(月) 13:11:01 ID:???]
>>279
おお、さすが最強PHPw。
ハーディ・ラマヌジャン数を出力するプログラムは、
Cで書いても、実行に数十秒かかる。
perlやpythonに至っては数分以上かかる。
だが、PHPなら、一瞬。むしろ、計算する必要すらない。
<?php
echo "1729";
?>


もちろん、パクリネタだ。

288 名前:nobodyさん mailto:sage [2009/03/16(月) 13:25:45 ID:???]
>>285
本気で勉強したいならJavaでやったほうがいいって散々言われてるだろ
オブジェクト指向という考え方を理解するためだけなら
わざわざPHPでやる必要はない
OOPに関するドキュメントの多いJavaでやったほうがいい
PHPでOOPなんてJavaやC#なんかをやってるやつの為にあると思っていい

289 名前:nobodyさん [2009/03/16(月) 15:26:16 ID:zNDXWAna]
くだらない質問ですがお願いします。
($a < $b) ? $key = $a : $key = $b;
これの意味がちょっとわからないのですがif文で表すことってできますか?

290 名前:nobodyさん mailto:sage [2009/03/16(月) 15:33:02 ID:???]
if ($a < $b) {
 $key = $a;
} else {
 $key = $b;
}

291 名前:nobodyさん mailto:sage [2009/03/16(月) 15:33:12 ID:???]
$key= ($a < $b) ? $a : $b;
普通はこう書く

if ($a < $b) $key= $a;
else $key= $b;

292 名前:nobodyさん [2009/03/16(月) 15:52:09 ID:zNDXWAna]
>>290>>291
なるほど!ありがとうございます。
ちなみに>>289の書き方とif使った書き方、どっちがいいとかあるのですか?


293 名前:nobodyさん mailto:sage [2009/03/16(月) 15:59:13 ID:???]
>>292
上記のような簡単なif文なら三項演算子でもいいと思うけど、複雑なものになると
可読性が落ちるので、その場合は素直にif文で済ませた方がよい

294 名前:nobodyさん mailto:sage [2009/03/16(月) 16:01:19 ID:???]
>>292
三項演算子は変数に入れることができる
なので結果を変数に入れたいときとかは便利だが
条件文をかくためだけに使うなら可読性を重視して
普通のif-else文を使ったほうがいい
三項演算子なんてなくてもコーディングできるので
他の人と共同開発なんかの場合は使わないほうがいい

295 名前:nobodyさん [2009/03/16(月) 16:34:41 ID:zNDXWAna]
>>293>>294
ありがとうとざいました。
使わないほうがよさそうですね。

296 名前:nobodyさん [2009/03/16(月) 16:46:33 ID:TMtB/4sw]
オープンな掲示板へのスパム投稿をブロックするにはどうしたらいいでしょうか?
メジャーな方法だとcaptchaを入れるんでしょうが、他に方法あったら教えてください。

たとえば、スパム業者(国内・国外問わず)のIPリストなんかはないんでしょうか?
よろしくお願いします



297 名前:nobodyさん mailto:sage [2009/03/16(月) 16:49:43 ID:???]
>>296
そのリストがあったら既に大手ブログサービス業者は導入して平和になってるはずだよな


298 名前:nobodyさん mailto:sage [2009/03/16(月) 17:14:59 ID:???]
>>296
基本的な対策として

本文中のhttp://文字列を禁止する
もしくは出てくる回数を制限する
(最近はttp://からはじめたりドメインからはじめたりするスパムもある)

文字がどういうもので構成されてるかを見る
日本語[あ-ん]が必ず入っていないと駄目とか
[\x00-\x7f]のみの文字列だったら駄目とか
(最近は文章の最後のほうに日本語を適当に入れてくるスパムもある)

スパムをあえて投稿させてパターンを分析し
自分でリストを作成する(IPなり禁止文字列なり)
(IPはできればサーバ側ではじく)

このほかによく見る方法としては

ひらがなに対応するカタカナを入力してもらうとか
(captchaはすでに効果がないので代替手段を)

他の閲覧者にスパムかどうかを判定してもらってJavaScriptで非表示にする
(youtubeなんかで見るパターン)

とかかな

いずれも限界があるので閲覧者に被害が出ないようにだけ配慮すればいいんじゃない?
そういう観点では誤クリ防止にhttp://のオートリンクをしないとかが一番効果的

299 名前:nobodyさん mailto:sage [2009/03/16(月) 17:19:04 ID:???]
どれもいまいちな方法だな

300 名前:nobodyさん mailto:sage [2009/03/16(月) 17:21:48 ID:???]
>>299
いまいちでない方法をどうぞ

301 名前:nobodyさん mailto:sage [2009/03/16(月) 17:28:15 ID:???]
あなたはスパム業者ですか?

はい いいえ

↑これを入力させればいい

302 名前:nobodyさん mailto:sage [2009/03/16(月) 17:30:34 ID:???]
>>301
天才

303 名前:nobodyさん mailto:sage [2009/03/16(月) 17:55:37 ID:???]
2chはどうやってんだろ?

304 名前:nobodyさん [2009/03/16(月) 18:04:29 ID:GOOX8xiJ]
PHPで効率化を突き詰めていくと、
MVCを考えた、フレームワークのような形になるのですが、
やっぱり皆さんもそうですか?それとも最初からフレームワーク使いますか?

305 名前:nobodyさん mailto:sage [2009/03/16(月) 18:06:47 ID:???]
>>298
日本語が入ってないとダメってのはもう古い
日本語スパムははじけないよ

306 名前:nobodyさん mailto:sage [2009/03/16(月) 18:10:14 ID:???]
やっぱり、画像認証(ランダムの数字を入力するやつ)
しか対処できないんじゃないか?
ライブラリも多いし、作るのも難しくないだろ。



307 名前:nobodyさん mailto:sage [2009/03/16(月) 18:21:17 ID:???]
>>303
2chは管理に協力してる人間がいっぱいいるから
手動でどうにかなるレベルなんだよ

308 名前:nobodyさん mailto:sage [2009/03/16(月) 18:49:09 ID:???]
PHPの初心者用参考書をちょっと読んだだけの初心者です

register_globalsをonにするとセキュリティ上よくなく
また、PHP6からはonにすることができなくなると聞きました
そこで質問なのですが、ハイパーリンクにごとにページの内容を変えたり
処理の内容を変えたりしたい場合は他にどのような方法があるのでしょうか

質問とは関係ないのですがスパム対策で 1 + 2 = [ ] といのを見たことがありますね
(数値は画像でランダムでした

309 名前:nobodyさん mailto:sage [2009/03/16(月) 19:11:39 ID:???]
>>308
基本的には POST あるいは GET メソッドでクエリを渡して、その値に応じて処理を分ける。
ハイパーリンクでなら GET 。

310 名前:nobodyさん [2009/03/16(月) 19:21:10 ID:TMtB/4sw]
>>298
たくさんの意見ありがとうございます
カタカナをひらがなにっていうのはいいですね!
キャプチャの文字列をカタカナにするってのは無理なんでしょうか?

311 名前:nobodyさん mailto:sage [2009/03/16(月) 19:25:46 ID:???]
スクリプトでは理解できない&日本人にしかわからないような
質問をランダムに生成できればいいんだが
質問と答えがあらかじめ決まってるようなものだとそのうち解析されるし
画像のひらがなをみてカタカナにしろぐらいだとCaptcha解析技術応用すれば
解析したひらがなに対応するカタカナに置き換えればできちゃうし
完全な対策なんてないからどこかで妥協するしかない
いろんなことやった上でなんとかして投稿してやろうなんて考える
海外のスパマーなんてそうはいないよ
仮にいろんな対策をした上で変なのが投稿されたらそれは日本人の愉快犯だ
というわけでそんな神経とがらせてスパマー対策しなくてもいいんじゃないだろうか

312 名前:nobodyさん mailto:sage [2009/03/16(月) 19:32:15 ID:???]
>>310
できますよ
そういうライブラリは探せばあるんじゃないかな?
単に文字を画像に出力するだけなら簡単なんですけどね
画像をゆがめたりする処理が難しいんじゃないかな

313 名前:nobodyさん mailto:sage [2009/03/16(月) 21:48:57 ID:???]
普通にCAPTYAいれとけば?

314 名前:nobodyさん mailto:sage [2009/03/16(月) 21:50:47 ID:???]
ちなみに2ちゃんがやってるのは、、、

(1)書き込みをしようとしてきたら、クッキーを
受け入れてるかどうかを確認する。クッキーないやつは
書き込みできない

(2)書き込みしてきようとしたサーバーに簡易ポートスキャンをかけ、
オープンプロキシでないことを確認する。もしオープンプロキシだったら拒否

(3)
プロキシからの書き込みについては、手動で
リストを作成して、そのリストにIPが載っていたら、拒否。

こんな感じ。一部だけど。

315 名前:nobodyさん [2009/03/16(月) 23:05:32 ID:l8gT672P]
セッションを使って、
ログインしないと見れないページを作ったんだが、
画像はどうやって守ればいいんだ?

316 名前:nobodyさん mailto:sage [2009/03/16(月) 23:07:02 ID:???]
>296 >297
DNSBL(DNSブラックリスト)でぐぐれ
スパムちゃんぷるーが手軽



317 名前:nobodyさん mailto:sage [2009/03/16(月) 23:21:56 ID:???]
>>315
そこでPHPですよ

318 名前:nobodyさん [2009/03/16(月) 23:35:54 ID:l8gT672P]
>>317
PHPで画像を送出するってことかな?
ぐぐったけど具体的なコードがわからない

319 名前:nobodyさん mailto:sage [2009/03/16(月) 23:51:20 ID:???]
2行でおk
ヘッダ送信
readfile()で出力

320 名前:nobodyさん mailto:sage [2009/03/16(月) 23:53:20 ID:???]
セッションも処理しないとwwwwwwwwww

321 名前:nobodyさん [2009/03/17(火) 00:28:16 ID:PIugUbr/]
$sql = "SELECT name FROM address";
$res = mysql_query($sql);
$row = mysql_fetch_array($res);
echo $row["name"];

こうしたらMySQLから1行取得出来ますが、もっと簡略化する方法は無いでしょうか?
特に、結果が1行・1フィールドだと分かっている場合、
mysql_fetch_arrayをして一旦配列に入れるのは不効率な気がしています。

322 名前:nobodyさん mailto:sage [2009/03/17(火) 00:35:15 ID:???]
echo (mysql_fetch_array(mysql_query("SELECT name FROM address")))["name"];

323 名前:nobodyさん mailto:sage [2009/03/17(火) 00:38:22 ID:???]
>321
SELECT name FROM address LIMIT 1

配列に代入云々は数マイクロ秒とかのゴミみたいな差しかつかない。
こいつは測定可能なレベルで実行性能に影響する。

324 名前:321 mailto:sage [2009/03/17(火) 01:11:49 ID:???]
>>323
>>321のようなテーブルにアクセスして、指定値を取得する関数を
作っているのですが、 321のソースでフィールド「name」が異なる場合、
echo $row["name2"];
というように名称を指定して出力しなければいけません。

まぁ、関数を
function dbSelect($fld_name){
echo $row[$fld_name];
}

とすれば良いだけの気がしますが、
何か良い関数があるのかと思い、質問しました。

325 名前:nobodyさん mailto:sage [2009/03/17(火) 02:58:59 ID:???]
1からCMS作ろうと思います。
応援よろしくお願いします

326 名前:nobodyさん mailto:sage [2009/03/17(火) 03:15:35 ID:???]
がんば〜



327 名前:nobodyさん mailto:sage [2009/03/17(火) 07:54:44 ID:???]
>>324
PDOが使用可能であれば…
jp.php.net/manual/ja/pdostatement.fetchcolumn.php

328 名前:nobodyさん mailto:sage [2009/03/17(火) 08:04:24 ID:???]
実はおれもCMS自作してるけど
ネックなのは一度もCMSを使ったことがないことだ・・

329 名前:nobodyさん mailto:sage [2009/03/17(火) 09:18:29 ID:???]
CMSを使ったことがない人がCMS作っても劣化品にしかならない

330 名前:nobodyさん [2009/03/17(火) 10:44:32 ID:Ib1RB6YL]
キーワード自動リンクの仕組みを作っています。
データベースなどに以下のようなデータがあるとします。

id,word
1,日本
2,日本海
3,日本海溝
4,太平洋

これらを辞書として、

・日本海溝は太平洋側にあります。

という文章に最長で一致するものからリンクを張っていくのですが、

<a href="word/3"><a href="word/2"><a href="word/1">日本</a>海</a>溝</a>は<a href="word/4">太平洋</a>側にあります。

のように、重複してリンクが張られてしまいます。
すでにリンクが張られている言葉の内側にはリンクを張らないようにしたいのですが、
どのような対処法が考えられますでしょうか?
PHPで処理する場合の対処法を教えてください。

331 名前:nobodyさん mailto:sage [2009/03/17(火) 11:14:15 ID:???]
マッチさせてるコードは?

332 名前:nobodyさん mailto:sage [2009/03/17(火) 11:32:03 ID:???]
$words = array(
array(
'id' => 1,
'term' => '日本'
)
);

辞書がこんなかんじの配列にあって、

foreach ($words as $word) {
str_replace($word['term'], '<a href="word/' . $word['id'] . '">' . $word['term'] . '</a>', $body);
}

辞書は単語の文字数の長い順にソートさせてあります。
実際のコードとは違うのでどこか変かもしれませんが、流れはこんな感じです。

単純に、辞書の配列をforeachさせて、
str_replaceでアンカータグをつけたものに置き換えているだけです。
なので、重複して置き換えられてしまうのは当然なのですが、
対処法が思い浮かばなくて;

よろしくお願いします。


333 名前:nobodyさん mailto:sage [2009/03/17(火) 11:33:23 ID:???]
すみません、訂正です;

×
str_replace($word['term'], '<a href="word/' . $word['id'] . '">' . $word['term'] . '</a>', $body);


$body = str_replace($word['term'], '<a href="word/' . $word['id'] . '">' . $word['term'] . '</a>', $body);


334 名前:330 [2009/03/17(火) 11:34:31 ID:Ib1RB6YL]
>>332
>>333
ID出し忘れました・・・スレ汚してすみません;

335 名前:nobodyさん [2009/03/17(火) 11:45:00 ID:PBdJ+iXh]
宜しくお願いします。
【OS名】Windows XP
【PHPのバージョン】php4.4.4
【質問内容】
『−』を含んだ文字列を preg_match で検索するとエラーが発生するのでキーワードを preg_quote で処理すると
『ホームページ』が『ホ―[ムペ―[ジ』となってしまいます。
お知恵を貸して下さい。お願いします。

336 名前:nobodyさん [2009/03/17(火) 11:48:44 ID:Vq5xUXrn]
>>335
mb_internal_encoding('utf8');
mb_regex_encoding('utf8');



337 名前:nobodyさん [2009/03/17(火) 11:49:06 ID:qY/TJCjN]
たまにGDでjpeg画像を処理した時にエラーが出て何も描かれてないjpeg画像がブラウザに出る時があるんだけど
そのエラーを表示しない方法はphp.iniで指定するってのは分かった。

これでエラーは出なくなったわけだが、画像はやっぱり出ない。
どうやらいつも同じファイルを処理した時にエラーになるので
画像ファイル側の問題だと思うけど
これをうまく処理する事はできるの?
そもそも何でこんなエラーがでるの?

知ってる人 教えてYO!

338 名前:nobodyさん mailto:sage [2009/03/17(火) 11:53:27 ID:???]
その画像をうpれ

339 名前:nobodyさん mailto:sage [2009/03/17(火) 12:02:31 ID:???]
>>335
はやく5に移行しろよ

340 名前:nobodyさん [2009/03/17(火) 13:22:05 ID:PBdJ+iXh]
>>336さん。
有難う御座います。
mb_regex_encodingでUTF-8にしてもやはりホ―[ムペ―[ジとなってしまいます。

>>339さん。
まだ勉強中の為に5への以降は難しいです…

341 名前:nobodyさん mailto:sage [2009/03/17(火) 13:33:39 ID:???]
まず検索する対象とキーワードの文字コードを把握できてないと解決できんぞ

342 名前:nobodyさん mailto:sage [2009/03/17(火) 14:22:48 ID:???]
4で勉強してから5にうつるより、最初から5で勉強しちゃったほうがいいような気もするんだけど。

343 名前:nobodyさん mailto:sage [2009/03/17(火) 14:23:55 ID:???]
4とか過去の汚物なんだから使う価値0

344 名前:nobodyさん mailto:sage [2009/03/17(火) 15:16:01 ID:???]
移行ってほど変わらんだろ。さっさと5使え

345 名前:nobodyさん [2009/03/17(火) 15:52:24 ID:s4aiV5Ak]
質問です。
このサイト(みんなのキャンパス:campus.nikki.ne.jp/
のように掲示板の情報を一部だけ閲覧することができ、
登録・ログイン後に情報をある程度投稿すると全ての情報が閲覧できるような
会員制サイトを作成したいと思っています。

WordPressやOpenPNEで色々試したのですがいまいちうまくいきません。
こういうものは、どうやったら実現できるのでしょうか?
よろしくお願いします。

346 名前:nobodyさん mailto:sage [2009/03/17(火) 15:55:22 ID:???]
if (未ログイン) {
一部表示処理
} else {
全表示処理
}



347 名前:nobodyさん mailto:sage [2009/03/17(火) 16:03:10 ID:???]
CMSで駄目なら何をやっても駄目な気がする
とりあえず Wordpress の方なら is_user_logged_in() でログインしてるかどうか調べられるよ

348 名前:nobodyさん mailto:sage [2009/03/17(火) 16:22:38 ID:???]
>>345
フレームワークで作るという手もある。







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<244KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef