Suchen Sie nach einer Zeichenfolge aus einer anderen Zeichenfolge und fügen Sie diese Zeichenfolge zum Array hinzu [geschlossen]
Frage
Meine Zeichenfolge ist:
$str = "a quick brown fox over the lazy dog... #fox #dog. hello everybody #lazy";
ich möchte bekommen #fox, #dog
Und #lazy
aus dieser Zeichenfolge und auch allen darin enthaltenen Wörtern#
und ich möchte diese Zeichenfolge zu einem Array wie diesem hinzufügen:
$array = array(
[0]=>'#fox',
[1]=>'#dog',
[2]=>'#lazy',
);
Wer kann mir helfen..Bitte.Vielen Dank!
Lösung
Sie können diesen regulären Ausdruck verwenden '/#(\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]);
AUSGABE :
Array
(
[0] => #fox
[1] => #dog
[2] => #lazy
)
Andere Tipps
Hier ist es:
$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);
mit dem regulären Ausdruck whith preg_match_all
Sie erhalten ein einzelnes Array mit allen Wörtern, die mit beginnen #
in der Zeichenfolge enthalten.
$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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow