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 回答