1

次のような非常に長いテキストがあります。

1- EM Smith、JP LAVERGNE、P. VIALLEFONT et J. DAUNIS。Recherches en série triazépine-1,2,4. J.Heterocyclic Chem.12, 66 (1975)。

2- M. BENCHIDMI et EM ESSASSI. 合成ビス s-トリアゾロ [4,3-b : 4,3-d] トリアゼピン-1,2,4。J.Heterocyclic Chem.、13、885(1976)。

3- LAVERGNE et P. VIALLEFONT. ヒドラジン分解ダザベンゾジアゼピノンおよびダザベンゾジアゼピンチオン1,5型。四面体、33、28O7 (1977)。

4-EMエッサッシ。「Synthèse et étude de RMN1H en présence de l'Eu(fod)3 des pyrazolo [1,5,4-ef] embodiazépine-1,5 ones-6 Bull. Soc. Chim. Belg., 96, 399 (1987) .

. . . .

リストはさらに 300 以上続きます。各行を抽出して MySql の挿入クエリに追加し、リスト番号を削除して、すべての引用符と二重引用符をエスケープする必要があります。私にはかなり難しい。

挿入クエリは次のようになります。

INSERT INTO PUBLICATIONS (NAME,AUTHOR,CITE,PUB_YEAR) VALUES
("Recherches en série triazépine-1,2,4.", "E.M. Smith, J.P. LAVERGNE, P. VIALLEFONT et J. DAUNIS.","J. Heterocyclic Chem. 12, 66","1975"), 
( "Synthèse de bis s-triazolo [4,3-b : 4,3-d] triazépines-1,2,4.", "M. BENCHIDMI et E.M. ESSASSI.","J. Heterocyclic Chem., 13, 885","1976" ),
etc.

アイデアを得るためにテキストに何らかの形式を与えただけですが、スペースや次の行がなく、すべて 1 つの巨大な文字列になっています。

私が考えたのは、次のようなものを使用することです:

$string = "all my string"
$pattern = '/regex pattern/';
$replacement = 'result format';
echo preg_replace($pattern, $replacement, $string);

特定のパターンがないため、分割することは不可能かもしれないことに気付きました。\n\r を手動で追加して、各行を分割することができます。

どうもありがとう!

4

1 に答える 1