1

キーワードのリストを受け入れるフォームがあります。mb_split次に、PHP を使用してリストを配列に変換し、データベースに入力します。ただし、リストを正常に区切る正規表現が見つかりません。ユーザーは通常、Web ページのリストからコピーしたデータを貼り付けます。これが私が試していることです:

mb_split('/\s+/', $keywords)

そして、データベースの結果は次のとおりです。

keyword1¶keyword2¶keyword3

¶ 文字は\s+. 具体的に ¶ 文字を処理しようとしましたが、うまくいきませんでした:

mb_split('/\s+\u00B6/', $keywords)

では、ここでどの正規表現機能するのでしょうか?

解決

私はこれを使用することになりました:

mb_split('\n|\r|¶', $keywords)

(論理 OR)を追加し、|実際に ¶ 記号を正規表現に貼り付ける必要がありました。また、スペースを含む複数単語のエントリが失われないように、代わりに\nandを使用するように切り替えました。\r\s

4

2 に答える 2

1

使用するだけでうまくいきます。 mb_splitとは異なり、pregその正規表現も区切らないでください。

于 2012-10-09T19:31:09.300 に答える
1

あなたの実装は、空白の後に ¶ が続きます。空白または¶が必要です:

/(\s|\u00B6)+/

¶ 文字は、見えるので空白ではありません。空白としてセマンティックな意味がありますが、正規表現エンジンがそのようなセマンティクスを探していない限り、空白にはなりません。

于 2012-10-09T19:28:56.103 に答える