所以,这是我要在我的网站上解决的唯一问题。当它从数据库中获取帖子然后被调用以解析/替换 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 中的空格。