2017-11-08 17 views
0

は、だから私はこのようになります。この文字列いますREGEXと一致する特定の文字列を取得する方法は?

は、I/Oは、彼ら/ Oは私のO /告げOビル/ PERSON ゲイツ/ PERSON ./O /約/ Oへ/ Oマイクロソフト/組織を訴え/ O/O/O/O 新/ LOCATIONニューヨーク/ LOCATIONの/ O市長/ Oが./O

、私はこのように出力することにしたい参照します

I complained to <span class="ORAGANIZATION"> Microsoft</span> about <span class="PERSON">Bill</span> 

イム/ Oのことでやりました。私はそれをしました。 oblemはMicrosoft/ORGANIZATIONです。私はREGEXが必要です。

$text_vars = preg_match("/PERSON|ORGANIZATION/", $string, $matches); 
$temp = array_shift($matches); 

答えて

1

preg_replace溶液:

$s = 'I/O complained/O to/O Microsoft/ORGANIZATION about/O Bill/PERSON Gates/PERSON ./O They/O told/O me/O to/O see/O the/O mayor/O of/O New/LOCATION York/LOCATION ./O'; 
$result = preg_replace('~(\S+)/(ORGANIZATION|PERSON)~', '<span class="$2">$1</span>', 
         preg_replace('~/O(\s+|$)~', ' ', $s)); 

print_r($result); 

出力:

I complained to <span class="ORGANIZATION">Microsoft</span> about <span class="PERSON">Bill</span> <span class="PERSON">Gates</span> . They told me to see the mayor of New/LOCATION York/LOCATION . 
私はこれを使用して、最初の単語を見つける試み
関連する問題