我想解析我從twitter中獲取的tweet中的hashtags。現在,我沒有在api中找到任何可用的東西。所以,我使用php自己解析它。我嘗試了幾件事情。在twitter API中解析hashtags PHP
<?php
$subject = "This is a simple #hashtag";
$pattern = "#\S*\w";
preg_match_all($pattern, $subject, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>
我也試過
$pattern = "/[#]"."[A-Za-z0-9-_]"."/g";
但後來它顯示/ g的PHP不認可。我一直在嘗試這麼做很長一段時間,但我無法做到這一點。所以請幫助。
P.S. :我對Regular Experssions有一點點想法。
第一個沒有工作,因爲你沒有指定分隔符,在開始和結束的斜線。 PHP無法識別'g'-flag,因爲preg_match_all會自動匹配所有發生的事件(這就是該標誌的作用)。你可能想試試'/#[a-z0-9 \ -_] +/i'?注意:'i'-flag使正則表達式不區分大小寫。 – 2013-03-22 19:31:57
'/ g' ==''preg_match_all()'中的'_all'。在第一個中,你忘記了正則表達式的分隔符,在第二個中,你有一個錯誤的修飾符。如果這些東西是固定的,那麼兩者中的任何一個都可以很好地工作。 – Wrikken 2013-03-22 19:33:13
非常感謝。有用。其實我也試過「/ [#] [A-Za-z0-9 -_] /」。然後它說沒有指定分隔符。然後我試着「/ [#] [A-Za-z0-9 -_] [/ \ t]」..然後它說未知修飾符''。 – 2013-03-22 19:36:38