0

アプリケーションにタグ システムを実装したいと考えています。@User1 のようなものが出力されます<a href="#">@User1</a>

[tag]User1[/tag] のようなものでそれを行う方法は知っていますが、BBCode スタイルは好きではありません。私は次のようなことを試しました:preg_match_all('/@(.*)[\s|\S]/', $str, $matches);しかし、うまくいきません。

なにか提案を?助けてくれてありがとう

解決:

preg_match_all('/@(.+?)\b/', $str, $matches);

4

1 に答える 1

1

@(.*)[\s|\S]最後の非スペース、スペース、またはパイプ文字 (すべて) までのすべてに一致します。私はあなたが使いたいと信じています

@(.+?)\b

これは、最初の単語境界までのすべての文字に一致します (?消極的な数指定子のため)。 .+ユーザー名にはおそらく少なくとも 1 文字が必要なため、 も使用されます。

于 2013-05-24T12:27:31.113 に答える