2013-11-14 43 views
0

我正在創建一種博客共享鏈接。基本上,對於每個鏈接,我會從後置字符串中提取hashtag,並將其放入meta標籤和關鍵字中。從字符串獲取hashtag並進入元關鍵字和標籤

所以,通常的字符串是這樣

#helloworld #test #video #youtube Bon Iver are the best daily surprise :D 

現在,我怎麼能得到的只有井號標籤並插入這樣的字符串?

$hashtags = helloworld,test,video,youtube 

而且在meta標籤

<meta name="keywords" content="<? echo $hashtags ?>" > 
<meta name="tags" content="<? echo $hashtags ?>"> 

其實我用這個腳本刪除 「#」,把後面插入井號標籤 「」

$hashclear = preg_replace('/#([A-Za-z0-9]+)/', '$1,', $post); 

我怎樣才能得到這些?有任何想法嗎 ?

回答

9

你的意思是這樣的:

$str = '#helloworld #test #video #youtube Bon Iver are the best daily surprise :D'; 

preg_match_all('/#([^\s]+)/', $str, $matches); 

$hashtags = implode(',', $matches[1]); 

var_dump($hashtags); 
+0

這正是我想要的:d,如果我會做同樣的事情,只留下字符串,刪除#標籤?我想這樣preg_replace('/#([A-Za-z0-9] +)/','',$ post);但我確定有一個最好的方法,任何想法? –

+0

如果你只留下字符串,你期望的結果是什麼? – TiMESPLiNTER

+0

例如,我只提取「Bon Iver是最好的每日驚喜:D」 –

0
$hashTag = "#helloworld #test #video #youtube Bon Iver are the best daily surprise :D"; 

$str = str_replace('#', '', 
    preg_replace('/(?:#[\w-]+\s*)+$/', '', $hashTag); 

echo $str; 
相關問題