-1

以下のような文字列があります。

例えば:

$string = "A great way to start with your theme is to use the XML export file from the demo. Having this starting content makes it easier to see how some features are created. Download the demo content below and import it into your WordPress site to get a replica of the theme demo site.The second step is to navigate to the Tools options and click Import. Then on the bottom of the list.";

ここで、コンテンツを 3 行まで取得する必要があり、それは完全な文である必要があります。だから私はそれを行う方法を知りたいです。PHPにそれを行う関数はありますか?

4

2 に答える 2

0

/n または . 各文の後、文字列を分割できます (php の爆発関数)。49.99 ポンドや「Dr. john Smith' はアルゴリズムを壊します。

于 2013-02-20T12:14:49.697 に答える
0

これは、いくつかの基本的な正規表現から始める必要があります。Regex の有効性を再テストし続け、例外的なケースに遭遇したときに微調整する必要があります。本当に何も防ぐことはできません(質問のコメントに記載されているシルクファイアなど)。

<?php
$string = "A great way to start with your theme is to use the XML export file from the demo. Having this starting content makes it easier to see how some features are created. Download the demo content below and import it into your WordPress site to get a replica of the theme demo site.The second step is to navigate to the Tools options and click Import. Then on the bottom of the list.";

$result = preg_match_all("/(?:\w+\s)+(?:\w+\.\s|\w+\.[a-z](?:\w+\s)+(?:\w+\.)+)/", $string, $matches);

echo '<pre>';
print_r($matches);
echo '</pre>';
?>

問題は、「lastword.Wordofnewline」がコードロジックで何であるかを本当に知らないという文字列にあります。上記の正規表現は、実際にはそれ自体が同じです。これは、次の文字列のように、いずれかのケースにのみ一致しreplicaますrepli.ca

テーマを開始するための優れた方法は、デモの XML エクスポート ファイルを使用することです。この開始コンテンツがあると、一部の機能がどのように作成されるかを簡単に確認できます。以下のデモ コンテンツをダウンロードし、WordPress サイトにインポートして、テーマ デモ サイトの repli.ca を取得します。2 番目のステップは、[ツール] オプションに移動し、[インポート] をクリックすることです。次に、リストの一番下にあります。

正規表現を機能させる前に、多くのテストに基づいて正規表現をカスタマイズする必要があります。可能であれば (その場合)、ユーザー (ライター) にコードの自動編集の出力を検証させる必要があります:)。

于 2013-02-20T10:34:28.730 に答える