$file = "[{\" name\ ": \" Anhui province \ ", \" code\ ": \" 340000\ "},{\" name\ ": \" beijing \ ", \" code\ ": \" 110000\ "},{\" name\ ": \" Fujian \ ", \" code \ ": \" 350000\ "},{\" name\ ": \" Gan province \ "," code\ ": \" 620000\ "},{\" name\ ": \"?? Province \ ", \" code\ ": \" 440000\ "},{\" name\ ": \"? "," code\ ": \" 450000\ "},{\" name\ ": \" state province \ ", \" code\ ": \" 520000\ "},{\" Name\ ": \" Hainan Province \ ", \" code\ ": \" 460000\ "},{\" name\ ": \" Hebei province \ ", \" code\ ": \" 130000\ "},{\" name\ ": \" Henan province \ ", \" code\ ": \" 410000 \ "},{\" name\ ": \" Black river \ ", \" code\ ": \" 230000\ "},{\" name\ ": \" Hubei province \ ", \" code\ ": \" 420000\ "},{\" name\ ": \" Hunan province \ ", \" Code\ " : \ "430000\"},{\ "name\": \ "Jilin province \", \ "code\": \ "220000\"},{\ "name\": \ "Jiang province \", \ "code\": \ "320000\"},{\ "name\": \ "Jiangxi province \", \ "Code\": \ "360000\"},{\ "name\": \ "?? Province \ ", \" code\ ": \" 210000\ "},{\" name\ ": \"? "," code\ ": \" 150000\ "},{\" name\ ": \"? "," The Hui autonomous of the Xia "," \ "" code\ ": \" 640000\ "}, {\ "name\": \ "Qinghai province \", \ "code\": \ "630000\"},{\ "name\": \ "Mountain Province \", \ "code\": \ "370000\"},{\ "name\": \ "Shanxi Province \", "code\": \ " 140000\ "},{\" name\ ": \" "West Province \", \ "code\": \ "610000\"},{\ "name\": \ "shanghai \", "code\": \ "310000\"},{\ "name\": \ "Sichuan province \", \ " Code\ ": \" 510000\ "},{\" nAme\ ": \" Tianjin \ ", \" code\ ": \" 120000\ "},{\" name\ ": \" Xizangzizhi? \ ", \" code\ ": \" 540000\ "},{\" name\ ": \" Xinjiang???? \ ", \" code\ ": \" 650000\ "},{\" name\ ": \" "South Province \", \ "code\": \ "530000\"},{\ "name\": \ "Zhejiang province \", "code\": \ "330000\"},{\ "name\": \ "heavy city \", \ " Code\ ": \" 500000\ "}]";
Preg_match ("#{\" name\ ": \" (. *?) \ ", \" code\ ": \" 350000\ "} #i", $file, $rg 1);
Print_r ($rg 1); exit ();
$Province = $rg 1[1];
Do not know why always get the Fujian province I want to solve.
Reply to discussion (solution)
Change \ Switch to \\\ and try again.
Header ("Content-type:text/html;charset=utf-8"), $file = "[{\" name\ ": \" Anhui province \ ", \" code\ ": \" 340000\ "},{\" name\ ": \" Beijing \ ", \" code\ ": \" 110000\ "},{\" name\ ": \" Fujian province \ ", \" code\ ": \" 350000\ "},{\" name\ ": \" Gan province \ ", \" code\ ": \" 620000\ "},{\" name\ " :\"?? Province \ ", \" code\ ": \" 440000\ "},{\" name\ ": \"? "," code\ ": \" 450000\ "},{\" name\ ": \" state province \ ", \" code\ ": \" 520000\ "},{\" Name\ ": \" Hainan Province \ ", \" code\ ": \" 460000\ "},{\" name\ ": \" Hebei province \ ", \" code\ ": \" 130000\ "},{\" name\ ": \" Henan province \ ", \" code\ ": \" 410000 \ "},{\" name\ ": \" Black river \ ", \" code\ ": \" 230000\ "},{\" name\ ": \" Hubei province \ ", \" code\ ": \" 420000\ "},{\" name\ ": \" Hunan province \ ", \" Code\ " : \ "430000\"},{\ "name\": \ "Jilin province \", \ "code\": \ "220000\"},{\ "name\": \ "Jiang province \", \ "code\": \ "320000\"},{\ "name\": \ "Jiangxi province \", \ "Code\": \ "360000\"},{\ "name\": \ "?? Province \ ", \" code\ ": \" 210000\ "},{\" name\ ": \"? "," code\ ": \" 150000\ "},{\" name\ ": \"? "," The Hui autonomous of the Xia "," \ "" code\ ": \" 640000\ "}, {\ "name\": \ "Qinghai province \", \ "code\": \ "630000\"},{\ "name\": \ "Mountain Province \", \ "code\": \ "370000\"},{\ "name\": \ "Shanxi Province \", "code\": \ " 140000\ "},{\" name\ ": \" "West Province \", \ "code\": \ "610000\"},{\ "name\": \ "shanghai \", \ "code\": \ "310000\"},{\" name\ ": \" Sichuan province \ ", \" code\ ": \" 510000\ "},{\" name\ ": \" Tianjin \ "," code\ ": \" 120000\ "},{\" name\ ": \" Xizangzizhi? \ ", \" Code\ " : \ "540000\"},{\ "name\": "Xinjiang?", "code\": \ "650000\"},{\ "name\": \ "Nan province \", \ "code\": \ "530000\"},{\ "name\": \ " Zhejiang province \ ", \" code\ ": \" 330000\ "},{\" name\ ": \" heavy city \ ", \" code\ ": \" 500000\ "}]";p reg_match ("#{\" name\ ": \" ([^\ "]*) \", \ "code \ ": \" 350000\ "} #i", $file, $rg 1); $Province = $rg 1[1];p rint_r ($Province);
The regular style is best with single quotes, and double quotes are difficult to escape.
If you just want the results, you can use json_decode conveniently and quickly.
Because you wrote too many matches, here. Can match
{\ "name\": \ " Anhui province \ ", \" code\ ": \" 340000\ "},{\" name\ ": \" beijing \ ", \" code\ ": \" 110000\ "},{\" name\ ": \" Fujian province \ ", \" code\ ": \" 350000\ "}
See the red font above to understand, because you do not limit, all will appear you say the question, the simplest is to put. matches, such as [^}] (non-} characters), to exclude the first 2 matches
Preg_match ("#{\" name\ ": \" ([^}]*?) \ ", \" code\ ": \" 350000\ "} #i", $file, $rg 1);
Preg_match (' #{' "Name": "([^:]+)", "Code": "350000"} #i ', $file, $rg 1);