简体   繁体   English

MySQL子字符串函数提取URL中的字符串

[英]MySQL substring function to extract string in a URL

I have a URL like {"gclid":"Cj0KEQjw7dfKBRCdkKrvmfKtyeoBEiQAch0egQ97fbdyRpkv6sUmkYHXnTKlOWMywt3SceAol-1umzwaAmsk8P8HAQ","sem_keyword":"+turbolader +einbau","sem_creativeid":"165357442696","sem_matchtype":"b","sem_network":"g","sem_device":"m","sem_placement":"","sem_target":"","sem_adposition":"1t2","sem_param1":"","sem_param2":"","sem_campaignid":"629608072","sem_adgroupid":"38134265464","sem_targetid":"kwd-26982332150","sem_location":"1004645"} 我有一个类似{"gclid":"Cj0KEQjw7dfKBRCdkKrvmfKtyeoBEiQAch0egQ97fbdyRpkv6sUmkYHXnTKlOWMywt3SceAol-1umzwaAmsk8P8HAQ","sem_keyword":"+turbolader +einbau","sem_creativeid":"165357442696","sem_matchtype":"b","sem_network":"g","sem_device":"m","sem_placement":"","sem_target":"","sem_adposition":"1t2","sem_param1":"","sem_param2":"","sem_campaignid":"629608072","sem_adgroupid":"38134265464","sem_targetid":"kwd-26982332150","sem_location":"1004645"}

from where I need to extract Cj0KEQjw7dfKBRCdkKrvmfKtyeoBEiQAch0egQ97fbdyRpkv6sUmkYHXnTKlOWMywt3SceAol-1umzwaAmsk8P8HAQ , ie the data between two double quotes after gclid . 从这里我需要提取Cj0KEQjw7dfKBRCdkKrvmfKtyeoBEiQAch0egQ97fbdyRpkv6sUmkYHXnTKlOWMywt3SceAol-1umzwaAmsk8P8HAQ ,即gclid之后两个双引号之间的数据。 I have tried all substring functions but I'm not able to get even close. 我已经尝试了所有子字符串函数,但是我什至无法关闭。

您可以使用MySQL JSON函数:

select json_unquote(json_extract(url, '$.gclid'))
$json = file_get_contents('url_here');
$obj = json_decode($json);
echo $obj->gclid;

For this to work, file_get_contents requires that allow_url_fopen is enabled. 为此, file_get_contents要求启用allow_url_fopen This can be done at runtime by including ini_set("allow_url_fopen", 1); 这可以在运行时通过包含ini_set("allow_url_fopen", 1);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM