0

これは、1つのmysqlテーブルフィールドの内容です。

Flash LEDs: 0.5W
LED lamps: 5mm
Low Powers: 0.06W, 0.2W
Remarks(1): this is remark1
----------
Accessories: Light Engine
Lifestyle Lights: Ambion, Crane Fun
Office Lights: OL-Deluxe Series
Street Lights: Dolphin
Retrofits: SL-10A, SL-60A
Remarks(2): this is remark2
----------
Infrared Receiver Module: High Data Rate Short Burst
Optical Sensors: Ambient Light Sensor, Proximity Sensor, RGB Color Sensor
Photo Coupler: Transistor
Remarks(3): this is remark3
----------
Display: Dot Matrix
Remarks(4): this is remark4

さて、備考を読んで変数に格納したいと思います。備考(1)、備考(2)等を修正しました。「これはremark1です」などはフォーム入力フィールドから取得されるため、柔軟性があります。

基本的に必要なのは、「Remarks(1):」と「--------」の間のすべてを読み取り、変数に保存することです。

ご協力いただきありがとうございます。

4

3 に答える 3

1

正規表現を使用できます:

preg_match_all("~Remarks\(([^)]+)\):([^\n]+)~", $str, $m);

ideoneで見られるように。

正規表現は、Xをマッチグループ1に、Yをマッチグループ2に配置します(備考(X):Y)

于 2010-09-14T04:45:17.733 に答える
0

これは正規表現の仕事であり、要件が表現するルールの種類に正確に一致させることができます。 これがあなたのためのチュートリアルです。

于 2010-09-14T04:42:37.223 に答える
0

このために関数を使用pregするか、関数を分解および内包して正しい結果を得ることができます。部分文字列は使用しないでください。修正されない場合があります。

クエリ文字列のImplodeおよびExplode関数の例:

    $sdr = "Remarks(4): this is remark4";

    $sdr1 = explode(":",$sdr);
    $frst = $sdr1[0];

    $sdr2 = array_shift($sdr1);

    $secnd = implode(" ", $sdr1);

    echo "First String - ".$frst;
    echo "<br>";
    echo "Second String - ".$secnd;
    echo "<br>";

あなたの答え :

First String - Remarks(4)

Second String - this is remark4
于 2010-09-14T05:02:37.943 に答える