我正在尝试创建一个php脚本,将输入粘贴到textarea中的HTTP链接输入到数据库中的单独行中。更确切地说:
第一页是textarea (name=textarea-linkfield)
所在的位置,链接将在此处粘贴
http://www.stackoverflow.com
http://www.yahoo.com
....
http://google.com
使用$linkfield=$_POST['textarea-linkfield'];
将链接转移到php脚本中,我希望将链接插入数据库,每行每个http链接。数据库名称:site,table name plow,columns:id,url,...
L.E。我试着作为概念的证明:
$linkfield=$_POST['textarea-linkfield'];
$strip=explode("\n",$linkfield);
echo $strip[1];
但我得到500内部服务器错误
L.E.2
答案:
// Split the string into pieces
$pieces = explode("\n", str_replace(array("\n", "\r\n"), "\n", trim($linkfield)));
// Build the top of the INSERT query
$sql = "INSERT INTO `plow`(`url`) VALUES\n";
// Build the rest of the ;INSERT query by re-assembling the
// pieces.
$sql .= "('";
$sql .= implode("'), ('", $pieces);
$sql .= "')";
mysql_query($sql) or die ('Error: ' . mysql_error());
mysql_close();
感谢所有人的帮助。 克里斯。
答案 0 :(得分:1)
根据您的操作系统,换行符可以是“\ n”,“\ r \ n”或“\ r \ n”。
试一试:
$strip=explode("<br>", nl2br($linkfield));
或者更安全:
$strip=explode("\n", str_replace(array("\n", "\r\n"), "\n", $linkfield));
答案 1 :(得分:0)
使用preg_match查找每个URL并将其添加到数据库中。 此页面上的示例3应该可以解决问题:http://php.net/manual/en/function.preg-match.php 这样您就可以输入URL而无需使用新行。 如果您只使用网址,那么您还可以在每个网址后添加一个分隔符,即逗号(在网址中不使用),以便在评论中使用explode()创意来展开它们。
答案 2 :(得分:0)