上記のサイトは正しい正規表現を示していますが、PHP で実行すると、次のような特定の名前が表示されません。'JJ5x5's White Top Hat'
PHP は次のとおりです。
<?php
function newEcho($Value){
echo $Value . "<br>";
};
function cURLAuto($URL){
$Channel = curl_init();
curl_setopt($Channel, CURLOPT_URL, $URL);
curl_setopt($Channel, CURLOPT_RETURNTRANSFER, 1);
return curl_exec($Channel);
};
function autoMatchAll($String,$Pattern){
$Found = array();
$Match = preg_match_all($Pattern,$String,$Found);
return $Found;
};
function replaceMatch($String,$Pattern,$Subject){
return str_replace($Pattern,$Subject,$String);
};
$Count = 0;
$Output = cURLAuto("www.roblox.com/catalog/json?Subcategory=2&SortType=0&SortAggregation=3&SortCurrency=0&LegendExpanded=true&Category=2&PageNumber=1");
$AssetId = autoMatchAll($Output,'/"AssetId":[\d]+/');
$Name = autoMatchAll($Output,'/"Name":"[\w\s\d\-' . "\'" . ']+"/');
foreach($AssetId[0] as $Value){
newEcho(replaceMatch($Value,'"AssetId":',"") . ":" . replaceMatch(replaceMatch($Name[0][$Count],'"Name":"',""),'"',""));
$Count++;
};
echo $Output
?>
$Name
実行中のコードを表示するときに名前の一部しか表示されないため、正規表現に問題があります。の正規表現$Name
は
/"Name":"[\w\s\d\-\']+"/
しかし、「」または「」を文字列として使用できないため、作成する必要がありました
'/"Name":"[\w\s\d\-' . "\'" . "]+/"
しかし、これを修正したいので、これを手伝ってもらえますか。