0

所以,这是我要在我的网站上解决的唯一问题。当它从数据库中获取帖子然后被调用以解析/替换 URL 时,它有问题。问题仅在于其中包含空格的重复项或图像名称。

$result = mysql_query("SELECT * FROM posts ORDER BY postid DESC");

while($row = mysql_fetch_array($result))
  {

$str = $row['post_content'];

$str = preg_replace_callback('#(?:https?://\S+)|(?:www.\S+)|(?:\S+\.\S+)#', function($arr)
{
    if(strpos($arr[0], 'http://') !== 0)
    {
        $arr[0] = 'http://' . $arr[0];
    }

    $url = parse_url($arr[0]);

    // images
    if(preg_match('#\.(png|jpg|gif)$#', $url['path']))
    {
        return '<img src="'. $arr[0] . '" /><br /><br />';
    }

这是它对第一个上传的图像的作用:http:
//domain.com/server/php/files/filename.jpg
这是它对第二个上传的图像的作用:http:
//domain.com/server/php /files/文件名http://(1).jpg

我需要控制如何命名文件的命名约定或控制它如何读取 URL 中的空格。

4

1 回答 1

0

在您的帖子中有两个问题:

  1. 如何读取 url 答案中的空格:您可以使用 urlencode() 函数。

  2. 文件的命名约定可能有以下选项:

一个。要么不允许文件名中的空格。在正则表达式的帮助下删除空间

湾。要么首先在 db 中检查文件名,如果存在,则在文件名中附加 1 或 2。

如果您有任何问题,请告诉我

于 2012-06-27T17:30:08.210 回答