Q&A
解決済
4回答
2378閲覧
総合スコア227
PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。
0グッド
1クリップ
投稿2018/03/13 07:33
0
1
102(-1980)
このような文字列から,(以前の文字列
102
を取得したい。
調べたのですが
strstr( 文字列1, 指定文字列 ) strchr( 文字列1, 指定文字列 ) stristr( 文字列1, 指定文字列 ) strrchr( 文字列1, 指定文字列
指定した文字以降のものは取れる関数は見当たるのですが 指定した文字以前のものを取る方法や関数はあるのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
2018/03/13 07:45 編集
2018/03/13 07:54
回答4件
出てないネタで、listとexplodeの組み合わせ
php1$str = '102(-1980)'; 2list($n) = explode('(', $str); 3echo $n;
php
1$str = '102(-1980)'; 2list($n) = explode('(', $str); 3echo $n;
型変換を利用したもの
php1$str = '102(-1980)'; 2$str = +$str; 3echo $str;
1$str = '102(-1980)'; 2$str = +$str; 3echo $str;
投稿2018/03/13 07:55
総合スコア1293
回答へのコメント
退会済みユーザー
2018/03/14 04:11
2018/03/14 05:41
ベストアンサー
一般的な感じでやるなら、strposとsubstrのあわせ技でしょうか。
PHP1$a = "102(-1980)"; 2echo substr($a, 0, strpos($a, "("));
PHP
1$a = "102(-1980)"; 2echo substr($a, 0, strpos($a, "("));
変り種だと(で分割して先頭を持ってくるとか。
PHP1echo explode("(", $a)[0];
1echo explode("(", $a)[0];
玄人さんなら正規表現ですね(詳しくないので間違ってたらすみません)
PHP1preg_match('/(\d*)(/', $a, $matches); 2echo $matches[1];
1preg_match('/(\d*)(/', $a, $matches); 2echo $matches[1];
投稿2018/03/13 07:52
総合スコア17002
条件をどこまで求めるか次第ですね
PHP1$str="102(-1980)"; 2$pattern="/(\d+)(-?\d+)/"; 3if(preg_match($pattern,$str,$match)){ 4 print $match[1]; 5}
1$str="102(-1980)"; 2$pattern="/(\d+)(-?\d+)/"; 3if(preg_match($pattern,$str,$match)){ 4 print $match[1]; 5}
上記であればカッコの中に数字(マイナスでも可)があり、その前の数字を拾います 単純にカッコの直前の数字というだけなら
PHP1$pattern="/\d+(?=()/"; 2if(preg_match($pattern,$str,$match)){ 3 print $match[0]; 4}
1$pattern="/\d+(?=()/"; 2if(preg_match($pattern,$str,$match)){ 3 print $match[0]; 4}
でもいけます
投稿2018/03/13 07:47
総合スコア118173
正規表現ですねー。preg_replace()
投稿2018/03/13 07:36
総合スコア0
2018/03/13 07:58
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
PHP 文字列から文字を指定した文字より以前のものを取得したい