0

私は現在このようなbbcodeを持っています

[caption=Some text goes here]image.jpg[/caption]

'caption ='の横にあるものに関係なく、image.jpgの値を取得できるように、phpのpreg_matchを使用したいと思います。誰かが私を助けることができますか?

4

4 に答える 4

1

生の正規表現:

]([^\]]+)[/caption]

preg_match("]([^\]]+)[/caption]", myString, $matches)

image.jpgは最初のグループになります。 $matches[1] (PHPで正しくエスケープしたかどうかはわかりません)。

于 2012-06-05T21:23:23.260 に答える
1

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

$str = '[caption=Some text goes here]image.jpg[/caption]';
if (preg_match('/^\[[^\]]+]([^[]+)/', $str, $arr))
   echo "image: $arr[1]\n";

出力

image: image.jpg
于 2012-06-05T21:25:32.690 に答える
0

キャプションを含む完全なbbcodeタグを一致させたい場合は、

preg_match("/\[caption=(.+)\](.+)\[\/caption\]/", $myString, $matches);

これにより、次の$matches配列になります。

Array
(
    [0] => [caption=Some text goes here]image.jpg[/caption]
    [1] => Some text goes here
    [2] => image.jpg
)
于 2017-08-29T09:10:53.853 に答える
-1

RegExpは魔法ではありません。PHPには、BBCodeを処理するための事前に作成された拡張ライブラリがすでにあります。

車輪の再発明をしたり、自分自身を苦しめたりしないでください。

于 2012-06-05T21:26:10.343 に答える