0

たとえば、「Article」という単語を何度も含むテキストがあります。

私のテキストタイトルArticle1bla bla Article 2 blabla..。

このようにテキストを分割したい:

Text1=Article 1 bla bla
Text2=Article 2 bla bla
...
4

5 に答える 5

2

最も簡単な方法は、explode http://php.net/manual/de/function.explode.phpを使用することです。

$text = "article 1 text text article 2 text 123";
$articles = explode("article", $text);

次に、各「冠詞」の後にテキストを含む配列があります(冠詞という単語はありません!)

于 2012-11-19T15:08:13.963 に答える
1

単純:

$articles = explode("article", $text);

$text1 = $articles[0];

$text2 = $articles[1];
于 2012-11-19T15:15:35.053 に答える
0

これは次の方法で実行できます。

$parts = preg_split("/(?=Article\b)/",$text);

ドキュメント

于 2012-11-19T15:07:27.223 に答える
0

分割パターンを見つける代わりに、一致するパターンを探す必要があります。

/Article.*?(?=Article|$)/

に一致Articleし、その後に別Articleの行または行末までのすべてが続きます。

$str = 'some ething Article 1 2 3 Article 5 6 7';

preg_match_all('/Article.*?(?=Article)/', $str, $matches);
print_r($matches[0]);

出力:

Array
(
    [0] => Article 1 2 3 
    [1] => Article 5 6 7
)

編集

後に数字が続くだけを除外するにはArticle

preg_match_all('/Article \d+/', $str, $matches);
// $matches[0] contains "Article 1" and "Article 5"
于 2012-11-19T15:19:37.743 に答える
0

これらのいずれかが役立つことを願っています:

     $str = "My text title Article 1 bla bla Article 2 bla bla";

     $strArray = explode('Article', $str);

     echo '<pre>';
     print_r($strArray);
     echo '</pre>';

     $strArray = split('Article', $str);

     echo '<pre>';
     print_r($strArray);
     echo '</pre>';

     $strArray = preg_split("/(?=Article\b)/",$str);

     echo '<pre>';
     print_r($strArray);
     echo '</pre>';
于 2012-11-19T15:21:35.057 に答える