我想强制用户在tags字段中输入至少一个标签。但是如果他们输入的不止一个,就用逗号分隔,你会怎么在php中检查?
“php”,“arsenal”,ermm ......'firefox'而不是
的标签'<html>' `'</html>'`.
以同样的方式将这个问题标记为php,标记
答案 0 :(得分:1)
你可以尝试爆炸,如下所示。但它非常不灵活,因为意外的空间会改变预期的输出。
$tagString = "my tag,your tag";
$tags = explode(',', $tagString);
if(count($tags) >= 1) {
echo "one tag or more";
} else {
echo "no tags"
}
我建议使用preg_split
,这是更宽容的。
$tagString = "my tag, your tag";
$tags = preg_split('/,\s?/', $tagString);
if(count($tags) >= 1) {
echo "one tag or more";
} else {
echo "no tags"
}
答案 1 :(得分:0)
ERR。怎么没有? Explode字符串使用','作为分隔符,如果它是有效标记,则检查结果数组中的每个值。
答案 2 :(得分:0)
最简单的方法是用逗号分解字符串,例如:
explode(",",$tags);
这将是一个标签列表
答案 3 :(得分:0)
您可以使用正则表达式来执行此操作。
一个例子就是这个:([a-zA-Z0-9]+)(([,][ ][a-zA-Z0-9]+))*
允许大小写字符和数字的所有组合分隔,。它还检查两个“标签”是否由逗号和空格分配
最好在输入级别检查它,并且只允许输入匹配上面的正则表达式并再次在php后端,检查你要处理的字符串是否与正则表达式匹配,然后用逗号将其爆炸。