2

PHPを使用してxmlページのキャプションからハッシュタグを取得し、リスト項目のIDとしてハッシュタグを除いた単語を使用しようとしています。私がこれまでに得たものは、キャプションにハッシュタグのみが含まれている場合にのみ機能します。文にそれ以上ある場合、それは何も返しません。正しく機能させるには何をする必要がありますか?

preg_match_all('#<title>\#(\w+)</title>#Us', $item, $temp );
4

1 に答える 1

2

これが1つのアプローチです:

preg_match_all('~<title>(?:[^<#]*\s)?#(\w+)[^<]*</title>~s', $item, $temp);

ハッシュタグ自体の前に空白があれば、とハッシュタグのほかに、<またはハッシュタグ#の間にあるものはすべて許可されます。ハッシュタグと。の間<title>以外はすべて許可されます。<</title>

これは、タイトルごとに1つのハッシュタグにのみ一致することに注意してください。1つのタイトルから複数のハッシュタグを取得できるようにする必要がある場合は、最初にを使用preg_match_allしてタイトルを取得し、次に、タイトルごとに、を使用preg_match_allしてハッシュタグを取得することをお勧めします。

于 2012-11-30T20:43:57.427 に答える