- 締切済み
php
http://log.digicafe.jp/program/sample/sample.php 分からなくなってしまいよければ全文を書いてもらえないでしょうか? preg_replaceなど使って簡単な文でお願いします
- l3nqxx
- お礼率0% (0/1)
- PHP
- 回答数1
- ありがとう数0
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- shimix
- ベストアンサー率54% (865/1590)
>preg_replaceなど使って 下記回答 ↓ でpreg_replaceすら使わずに簡単な文で書いたつもりですが、どのあたりがマズかったですか? https://okwave.jp/qa/q9320145.html #var_dump($_REQUEST)くらいは自分で追加してくださいね (蛇足) 個人的には設問に疑問があります。 >2.取得できていればそれらをサニタイジング 保存時にサニタイジングする必要は感じません。表示するタイミングでhtmlspecialcharsするのが真っ当な手順です。fputcsvを使ってCSV形式で保存する(読込むときにはfgetcsvを使う)ならば改行コードだって残したままで問題ないからです(同様に表示するタイミングでnl2brする)。
関連するQ&A
- 【PHP】常にマルチバイト文字列関数でいいですか?
PHP初心者です。バージョンは4です。 文字を扱う関数はマルチバイト対応と非対応があるみたいですがその使い分けがわかりません。いっそ常にマルチバイト対応にしとけばいいのではと考えてしまいますがどうなのでしょう?たとえば、置換の場合、 preg_replace と str_replace がありますが、常に preg_replace を使っていて問題はないのでしょうか? お詳しい方、よろしくお願いいたします。
- ベストアンサー
- PHP
- PHP5.3以降のereg_replaceについて
PHP5.3以降にアップデートしたところ、ereg_replaceで書かれている箇所で警告が出るようになりました。 マニュアルを見た限りではpreg_replaceへの移行が推奨されているようなので、preg_replaceに書き換えようと思い、http://melma.com/backnumber_129036_1571788/を参考に、2つ目のパラメータの前後に/を付けましたが、画面に何も表示されず、どのように記述すれば良いか分からなかった為、アドバイスいただける方がいらっしゃいましたら、ご教示の程よろしくお願いします。 なお、ソースは下記となります。 また、記述はhttp://okwave.jp/qa/q849820.html?&status=true&errcode=&msg=&qid=849820を使用させていただいており、やりたいことはURLに自動的にハイパーリンクを付加したいという状況で、ereg_replaceを使用すればできております。 <?php $proto = "私のブログはhttp://www.hoge.com/です。"; $proto = ereg_replace("(https?|ftp|news)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)","<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>",$proto); //$proto = preg_replace("(https?|ftp|news)(://[[:alnum:]\+\$\;\?\.%,!#~*/:@&=_-]+)","/<a href=\"\\1\\2\" target=\"_blank\">\\1\\2</a>/",$proto); print $proto; ?> 以上、宜しくお願いします。
- ベストアンサー
- PHP
- phpのpreg_replaceで、Unknown modifier
phpのpreg_replaceで、Unknown modifier '[' in ... というエラーが出ます 何が考えられるでしょうか。。。 意味不明でしたら加筆修正しますのでよろしくお願いします。
- ベストアンサー
- PHP
- メール転送でPHPの正規表現です。
sakuraサーバーで、mailfilterを使用して、パイプでメール転送しようという魂胆です。 http://ameblo.jp/topepe/entry-10325428465.html ※PHPにて正規表現を使って整形してメール転送しようと思っています。 #!/usr/local/php/5.2.17/bin/php-cgi <?php $content = null; $fp=fopen("php://stdin",'r') or die('File Open Error'); while( !feof($fp) ){ $content .= fgets( $fp ,1024); } mb_language("japanese"); mb_internal_encoding("UTF-8"); mb_send_mail("xxx@example.com","subject",$content); ?> のような簡単な転送では成功しています。 そこでpreg_replaceでメールヘッダーを削ったり、本文中の日本語句を削除してから転送しようとしているのですが、preg_replaceをかけるとすべて消えてしまいます。 ◎英数字だけの正規表現(/\A(.*?).jp/sなど)の場合はうまく動きます。 ×日本語が入ると駄目です。(/\A(.*?).受信者/usなど) sakuraの場合、パイプで動かすPHPファイルはEUC+LFでないと動きません。 なので $content_utf8 = mb_convert_encoding($content,"UTF-8","EUC-JP"); $patturn_utf8 = mb_convert_encoding("/\A(.*?)受信者/us","UTF-8","EUC-JP"); $c = preg_replace($patturn_utf8,"",$content_utf8); mb_send_mail("xxx@example.com","subject",$c); などとしていますが、駄目です。 preg_matchだとメールすら転送されません。 ※ヘッダーを削るだけならPEARもありだと思いますが、本文のもろもろを削るので、 PEARがあろうが、preg_replaceを使いたいことには変わりありません。 できればPEARはインストールしないでただの正規表現で行きたい、という段階です。 なにかヒントはありますでしょうか。 sakuraサーバー php/5.2.17 php-cgi PHPファイルはEUC+LF
- ベストアンサー
- PHP
- POSIX系(ereg)とPerl互換系(preg_match)、PHPの実務で多用されるのはどっち?
PHPの実務の現場で、好んで使用される正規表現関数は、 POSIX互換かPerl互換かどちらでしょうか? 場合によりけりでしょうか? それとも、Perlを知らないプログラマーは、ereg や ereg_replace しか使っていなかったり、 逆に、機能が豊富な preg_match や preg_replace の方が好まれるのでしょうか? 今後、PHPプログラマーと共同で開発することを考えれば、どちらを使用すればいいでしょうか? ※POSIX互換では、数字の \d って使えないんですか?
- ベストアンサー
- PHP
- PHPでgrepする件について
PHPでgrepっぽいようなことをしたいと考えています。 I.「キーワード」を含む文を拾ってくる。 II.「タグ」で囲まれている数字を拾ってくる。 例えば、 I.では「北海道」を含む文章を拾ってきたいと考えています。 (日本語です。キーワードは英語ではありません) II.ではxmlで表記されている<~~>98765</~~>という98765を拾ってきたいと考えています。 http://jp2.php.net/manual/ja/function.preg-grep.php を参考にしたのですが、ダメでした。 よろしければ、助言いただけないでしょうか?
- ベストアンサー
- PHP
- PHPのファイルが開けません
http://www.phpbook.jp/tutorial/ini/index2.html sample2-1.phpファイルと全く同じコードのファイル sample2をphpinfo.phpファイル(http://www.phpbook.jp/install/phpini/index2.html) と同じ場所に入れました(C:\Program Files\Apache\Apache24\htdocs)が、 http://localhost/phpinfo.php の時は早く表示されるのに http://localhost/ sample2.php はWeb ページが見つかりません (ちなみにアドレスがhttp://localhost/%20sample2.phpとなります) と出てしまいました。置く場所を間違えていますか?
- ベストアンサー
- PHP