这个问题在这里已经有答案了:
在数据库列中存储分隔列表真的那么糟糕吗(10个答案)
两年前关门了。
我需要在mysql表中存储一个逗号分隔的字符串(url数组)。
例如:
"https://google.com,https://yahoo.com,https://something.com"
从我正在使用的php中的表中获取这个 explode
函数获取数组。
$arr = explode(',', $string);
问题是因为某些url本身可能包含逗号字符,这可能会产生混淆。
事实上,url可以包含任何字符,转义或不-它会产生错误 explode
功能。
有什么帮助吗?
2条答案
按热度按时间zbwhf8kr1#
尝试使用一组在url(如$&$)中永远找不到的字符来分隔值,这些字符将充当逗号,因此在检索值时,您将执行以下操作:
$arr = explode('$&$', $string);
您还可以构建一个数组,并使用json\u编码和保存字符串,您将摆脱explode函数,例如:然后将$urlsinjson存储在数据库中
要检索您将使用的数据
希望有帮助。
csga3l582#
你可以用
urlencode()
```$stupidCommaUrl = 'http://why.com/is,there/a/comma';
echo urlencode($stupidCommaUrl);
// outputs http%3A%2F%2Fwhy.com%2Fis%2Cthere%2Fa%2Fcomma