0

http://regexr.com?35hk2

上記のサイトは正しい正規表現を示していますが、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\-' . "\'" . "]+/"

しかし、これを修正したいので、これを手伝ってもらえますか。

4

2 に答える 2

1
于 2013-07-11T08:02:54.257 に答える
0

これを試して:

'/"Name":"(.*?)"/'

.

于 2013-07-11T08:00:21.727 に答える