2017-07-18 7 views
0

タグと不要な情報からXMLファイルをクリーンアップするコードがあります。最後のpreg_replaceを除いてすべてうまく動作しますが、アルファベット文字に該当しない行は削除されません。出力は以下のような行が含まれます。正規表現を使用してアルファベット文字のない行を削除するには?

153 
    834 
    4598 
    6 
    0 

コードを

$xml = file_get_contents('3377035.xml'); 

$a = strip_tags($xml,""); 
$a = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $a); 
$a = preg_replace("/^([^A-Za-z]+)/", "", $a); 

file_put_contents("new.txt", $a); 
+0

:私は複数行のフラグを追加する必要があります"〜^ [^ \ p {L} \ r \ n] + \ R *〜m"の文字が必要です。 Unicodeのテキストがある場合は 'm'の後に' u'を追加してください。 –

+0

@wiktorStribiżewthx、うまくいって、マルチラインフラグが仕事をした、thx) –

+1

"不要な情報を消去する"のかわりに、XMLパーサーを使って必要な情報を抽出します。 –

答えて

0

を下回っている私は答えを見つけた:含まれていない行を削除するには

$a = preg_replace("/^([^A-Za-z]+)/m", "", $a); 
関連する問題