我有這個輸出(從另一個系統),我需要測試字段在一行。 這個愚蠢系統自動換行,在45個字符(與像30個空格每行之前)PHP查找單詞包裝線和unwordwrap
這是我的例子輸出(即我需要輸入)
Name:
Pepsi
Test:
The Result was blah
and blah
Tester:
John
Name:
Sprite
Test:
The result was negative
Tester:
Jane
Etc etc
測試後行有時:獲得自動換(有時不)
我需要該行是un-wordwrapped,所以我可以在訪問中導入它。
該文件大約2mb,並且有很多需要清理的實例。這就是爲什麼我試圖寫這個腳本。
感謝
----------------編輯-------------
這是我想出了迄今爲止。但我不能得到它來代替
<?php
function replace_newline($string) {
return (string)str_replace(array("\r", "\r\n", "\n", " ", " ", " ", " "), ' ', $string);
}
function GetBetween($content,$start,$end){
$r = explode($start, $content);
foreach($r as $value){
$t = explode($end, $value); //$t[0] between value
$result = trim(preg_replace('/[\t\r\n]+/', ' ', trim($t[0])));
$result = trim($result);
$result = replace_newline($result);
if (!strstr($result, "Name:")) {
echo $result . "\r\n";
$test = str_replace($t[0], $result, $test);
}
}
}
$test= file_get_contents("4321.txt");
GetBetween($test, "Test:", "Tester:");
?>
此輸出:
結果是胡說和胡說
結果爲陰性
30個空格是空格還是標籤? – hafichuk
當你將這些行解開時,新添加的行應該按原樣添加還是在它們之間包含空格? –
老實說,我會問服務器故障 - 有一些aw aw awk/sed的主人 – hafichuk