2017-08-15 22 views
-1

curl出力の" -<b>タグを削除するにはどうすればよいですか?私は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); 
?> 

カール出力blog.incファイルに出力し、次の形式を、達成しようとし

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

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"とスペースを入れてほしいと思っています。タイプミスかどうかはわかりませんが、次のコードではそのようにする必要があります。単にimplodeの前に追加してください。

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

私の存在にあなたのコードを追加しようとしました$ str = $ ch;運がない、何かが足りないの? – acctman

+0

私はCURLOPT_RETURNTRANSFERを追加して、 'curl_exec($ ch)'も使用しなければなりません...すべては行の区切りを除いて動作するようです。それでもまだ1行にすべて – acctman

+0

私は忘れて申し訳ありません。暗黙の文字列として '
\ n'を使用してください。 – Andreas

関連する問題