php - explode 和 foreach 问题

标签 php mysql foreach explode

用户在这样的框中输入 URL:

  1. google.net
  2. google.com

然后我尝试验证/检查 URL,因此:

function check_input($data) {
    $data = trim($data);
    $data = mysql_real_escape_string($data);
    return $data;
}

验证后:

$flr_array = explode("\n", $flr_post);

因此,我可以验证每个 URL。但是 mysql_real_escape_string 发现 URL 之间的空格并添加:

<--print_r information-->
google.net\r\ngoogle.com

我的 URL 应该如下所示:

  1. google.net
  2. google.com

如何删除 \r,因为它破坏了其他一切? 有没有更好的方法来验证 URL?

尝试使用 str_replace,但没有成功。

最佳答案

验证 URL 的最佳方法是使用 PHP 的 filter_var()docs像这样的功能:

if( ! filter_var($url, FILTER_VALIDATE_URL))) {
  echo 'BAD URL';
} else {
  echo 'GOOD_URL';
}

关于php - explode 和 foreach 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8703860/

相关文章:

没有 {} 的 php foreach 语法

php - WooCommerce 如何对自定义类别执行条件检查

php - 在 Swift2 中发送 php POST 请求需要很长时间

mysql - 将重复的匹配对分组到一个组中 - SQL

php - MYSQL从数据库检索数据时如何忽略foreach循环中的重复行

c# - 如何将数据行中的所有单元格复制到 session 中?

php - utf8 字符在转换为 mysqli_query() 后错误地显示为问号

PHP unlink() 处理异常

java - Spring Boot Data JPA 查询不适用于 LocalDateTime.MAX

mysql - 是否可以找出一个与纯MySQL差异最大的值?