我正在尝试保存在文本区域字段中输入的链接。链接由新行/输入分隔。因此,在我下面的示例中,他应该在表中为每个url链接添加3行。但出于某种原因,他并没有这样做。
文字区域
www.url1.com
www.url2.com
www.url3.com
HTML
"(?:(?<=[a-z])\\.\\s(?=[a-z]\\.))|(?:(?<=[a-z])\\.)(?!(?:\\s[A-Z]|$)|(?:\\s\\s))|(?:(?<=[A-Z])\\.\\s(?=[A-Z]\\.))|(?:(?<=[A-Z])\\.(?=\\s[A-Z][A-Za-z]))"
PHP
<textarea id="url" name="url"></textarea>
提前致谢!
亲切的问候
答案 0 :(得分:1)
不使用单引号,而是在\ n字符串
周围使用双引号if(isset($_POST['url'])){
$links_array = explode("\n", $_POST['url']);
foreach($links_array as $url)
{
$query3 = mysql_query("INSERT INTO links(sigaren_id, link) VALUES ((SELECT id FROM sigaren ORDER BY id DESC LIMIT 1), '$url')");
}
}
编辑:此外,您还要将$ url设置为isset($ _ POST [&#39; url&#39;]),该值返回true和false值,而不是实际内容在评估的变量中,我已经改变了我的答案来反映这一点。
这里有一个很好的答案,描述了PHP如何处理内容&#39;字符串和&#34;内容&#34;字符串https://stackoverflow.com/a/3446286/3944304
答案 1 :(得分:0)
您需要使用双引号将换行符定义为字符:
"\n"
单引号表示字符串,双引号表示字符
$post_keys = explode("\n", $_POST['url']);