別の文字列から文字列を検索し、これらの文字列を配列に追加します [クローズド]

StackOverflow https://stackoverflow.com//questions/23007812

質問

私の文字列は次のとおりです:

$str = "a quick brown fox over the lazy dog... #fox #dog. hello everybody #lazy";

私は手に入れたい #fox, #dog そして #lazy その文字列と、それに含まれるすべての単語から# これらの文字列を次のように配列に追加したいと思います。

 $array = array(
       [0]=>'#fox',
       [1]=>'#dog',
       [2]=>'#lazy',
   );

私を助けてくれる人は誰でも..お願いします。どうもありがとう!

役に立ちましたか?

解決

この正規表現を使用できます '/#(\w+)/'

<?php
$str = "a quick brown fox over the lazy dog... #fox #dog. hello everybody #lazy";
preg_match_all('/#(\w+)/', $str, $matches);
array_walk($matches[1],function (&$v){ $v='#'.$v;});
print_r($matches[1]);

出力:

Array
(
    [0] => #fox
    [1] => #dog
    [2] => #lazy
)

enter image description here

他のヒント

ここにあります:

$s = "a quick brown fox over the lazy dog... #fox #dog. hello everybody #lazy";
$r = array();
preg_match_all('/(?<!\w)#\w+/', $s,$r);
print_r($r);

正規表現を使用して wh preg_match_all で始まるすべての単語を含む単一の配列を取得します。 # 文字列に含まれています。

$str  = "a quick brown fox over the lazy dog... #fox #dog. hello everybody #lazy";
$pattern = '/(?<!\w)#\w+/';
preg_match_all($pattern, $str , $matches);
print_r($matches);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top