2017-08-15 78 views
-1

我將如何去除和<b>標籤,從curl輸出下面?我試圖strip_tags但我不知道如何重新排列順序字符串標籤和從輸出重新排列的順序

<?php 
$ch = curl_init("http://beta.test123.com/archive.csv?s=BLOGS&f=lc1"); 
curl_setopt($ch, CURLOPT_HEADER, 0); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 5); 
curl_exec($ch); 
curl_close($ch); 
?> 

捲曲輸出

"4:01pm - <b>n1234</b>",+0.50 

努力實現以下格式,輸出到blog.inc文件

n1234 
+0.50 
4:01 PM 

回答

1
$result = strip_tags($out); 
$result = str_replace(["- ", '"'], '', $result); // remove unnecessary chars 
$result = str_replace(',',' ', $result); // change comma to space for explode 
$array = explode(' ', $result); // explode by space 

//here result - array with needed values 
$array[1] // should be n1234 
$array[0] // should be 4:01pm 
$array[2] // should be +0.50 
1

也許這樣?
我使用regex來獲取字符串的各個部分,並使用strip_tags()刪除粗體標記。

要重新安排項目到您的訂單我使用array_shift()

$str = '"4:01pm - <b>n1234</b>",+0.50'; 

preg_match('/\"(.*?)\s-\s(.*?)\",(.*)/', strip_tags($str), $matches); 
unset($matches[0]); // unset [0] because that is the full match. 
$matches[] = array_shift($matches); // takes first item and makes it last. 

echo implode("<br>\n", $matches); 
//var_dump($matches); 

輸出:

n1234 
+0.50 
4:01pm 

https://3v4l.org/smQIV

EDIT;我現在看到你想要「4:01 PM」並有空格。不知道它是否是一個錯字,但下面的代碼應該做到這一點,只需在爆發之前添加它。

$matches[2] = date("g:i A", strtotime($matches[2])); 
+0

我試着將你的代碼附加到我的存在$ str = $ ch;但沒有運氣,我錯過了什麼? – acctman

+0

我不得不添加CURLOPT_RETURNTRANSFER並且還使用'curl_exec($ ch)'......除了行分隔以外,一切似乎都起作用了。它仍然在一條線上 – acctman

+0

對不起,我忘了。使用'
\ n'作爲內爆字符串。 – Andreas