質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

353閲覧

PHPのpreg_matchの特定の日本語以降のワードを取得する方法

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

1クリップ

投稿2018/02/02 10:00

編集2018/02/02 15:47

【実験内容】←含む、【実験内容】以降の文章全てを取得する場合、preg_matchを使って下記のように書いてみたのですがうまく取得できません。

【実験内容】含む以降の文字列を取得する正しい正規表現が知りたいです。

よろしくお願いします。

【追記①】
それとも【実験内容】以前を削除の方がいいのでしょうか。

【追記②】
//strposを使う方法?
//【の位置を見つける
$sample=strpos($body_text, "【");
//【以降を取得?
$result=substr($body_text, $sample);

【追記③】
strposだと取得できたのですがpreg_matchだとダメなのでしょうか。

【追記④】
下記だと【実験内容】以降取得できたのですが、$body_textに配列?が入ると途端にエラーが出てしまいます。
※?の箇所は正確な表現を知らないため自身がないので付けています。

PHP

1 2<? 3// 取得したい文字列 4$body_text=".....【実験内容】...."; 5 6// 【実験内容】含む以降を取得してみる 7preg_match( 8'/【実験内容】.+/u', 9$body_text, 10$result 11) 12 13var_dump($result); 14} 15?>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/02/02 10:07

$body_textには改行コードも含んでいたりしますか? テストに耐えうる、もう少し現実的なテストデータがあれば、挑戦する人が出てくるかもしれません。
退会済みユーザー

退会済みユーザー

2018/02/02 10:14

改行はおそらく含んでいません。strip_tagsを通しています。
guest

回答1

0

ベストアンサー

php

1<?php 2 3// 取得したい文字列 4$body_text=".....【実験内容】...."; 5 6// 【実験内容】含む以降を取得してみる 7preg_match( 8'/【実験内容】.+/u', 9$body_text, 10$result 11); 12 13var_dump($result); 14 15?>

で、それっぽい結果は得られていますが、果たして?

投稿2018/02/02 10:20

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/02/02 11:28

正規表現パターンのuはこの場合あってもなくても結果に影響はなさそうです。 preg_match("/^[ぁ-んァ-ヶーa-zA-Z0-9一-龠0-9、。\n\r]+$/u",$message) みたいな文字クラスを使うときは必要ですけど。
退会済みユーザー

退会済みユーザー

2018/02/02 15:48

上記で一応取得できましたが違う問題が出てきましたので一旦m6uさんの回答をベストアンサーにさせてもらい新たな問題に関しても質問をポストします。 回答ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問