2016-07-29 6 views
-1

私が必要とするのはスーパーストレートですが、私はそれを理解できません。私はregex101.comを試して正しい正規表現を釘付けに使用していますが、何も動作していないようです。各単語を区切る正規表現が必要です<br>

基本的には、単語リストと<br>タグを配列に作成する必要があります。

それは、これらの<br>タグのいずれか、<br>, <br/>, <br >, <br />

のでLorem ipsum dolor sit amet, consectetur adipiscing elit.<br /><br />Duis eu metus porttitor, maximus elit vitae, sodales leo.

のために、私はこれまでのところ私に

["Lorem ", "ipsum ", "dolor ", "sit ", "amet, ", "consectetur ", "adipiscing ", "elit.", "<br />", "<br />", "Duis ", "eu ", "metus ", "porttitor, ", "maximus ", "elit ", "vitae, ", "sodales ", "leo. "] 

を与える表現を必要とする私が持っているすべての/\S+\s+/gであるが、これはあるかもしれませんスペースだけを探しています。

答えて

1

あなたは<br>タグの正規表現での代替を必要としています。

/<br\s*\/?>|\S+?(\.|\s+)/g 
0

これはどう:/(<br.*?>|[\w\.\,]+)/g

Regex101 demo。 PHPの正規表現エンジン(PCRE)あなたはpreg_match_allを使用して)ことを行うことができます

0

は:

~(?><br\b[^>]*>|\s+)*\K\w+[^<\w]*~ 

demo

~   # pattern delimiter 
(?>   # open an atomic group 
    <br\b[^>]*> # a br tag 
    |    # OR 
    \s+   # one or more whitespaces 
)*   # close the atomic group, repeat zero or more times 
\K   # start the match result at this point 
\w+  # word characters 
[^<\w]* # eventual non-word characters except an opening angle bracket 
~ 
関連する問題