Php 匹配包含空格的图像链接 $update='sometexthttp://www.site1.com/images/some 带有空格的图像.jpg其他一些文本http://www.site2.com/some_image.jpg'; preg|u match|u all(“#(?:]”+href=\”)(?:http:/)?(http(s?:/([^\s]*)\(jpg | gif | png))|“,$update,$group|imagelink); echo$group_imagelink[1][0]; echo$group_imagelink[1][1];

Php 匹配包含空格的图像链接 $update='sometexthttp://www.site1.com/images/some 带有空格的图像.jpg其他一些文本http://www.site2.com/some_image.jpg'; preg|u match|u all(“#(?:]”+href=\”)(?:http:/)?(http(s?:/([^\s]*)\(jpg | gif | png))|“,$update,$group|imagelink); echo$group_imagelink[1][0]; echo$group_imagelink[1][1];,php,regex,Php,Regex,我的正则表达式不希望从带有空格的文本中提取链接。 我需要将链接中的空格替换为20%,以便在copy()之后使用,但我仍然希望保留带有空格的文本。我如何才能做到这一点 此外,我的代码是否安全?这就是我的工作原理: 我换了 $update = ' sometext http://www.site1.com/images/some image with spaces.jpg some other text http://www.site2.com/some_image.jpg'; preg_mat

我的正则表达式不希望从带有空格的文本中提取链接。 我需要将链接中的空格替换为
20%
,以便在
copy()
之后使用,但我仍然希望保留带有空格的文本。我如何才能做到这一点


此外,我的代码是否安全?这就是我的工作原理:

我换了

$update = ' sometext http://www.site1.com/images/some image with spaces.jpg some other text  http://www.site2.com/some_image.jpg';

preg_match_all('#(?:<\>]+href=\")?(?:http://)?(http(s?)://([^\s]*)\.(jpg|gif|png))#',       $update, $group_imagelink);
echo $group_imagelink[1][0];
echo $group_imagelink[1][1];


这就是我的工作原理:

我换了

$update = ' sometext http://www.site1.com/images/some image with spaces.jpg some other text  http://www.site2.com/some_image.jpg';

preg_match_all('#(?:<\>]+href=\")?(?:http://)?(http(s?)://([^\s]*)\.(jpg|gif|png))#',       $update, $group_imagelink);
echo $group_imagelink[1][0];
echo $group_imagelink[1][1];


空格在URL中根本无效……如果确实是从中获取文本的话,用户不应该将它们放在首位并期望它工作。您想根据哪些标准将文本与那些(无效的)充满空格的URL区分开来?您可以用
*?
代替
[^\s]使正则表达式静音
,但这将为将运行到下一个带有
.jpg
后缀的URL打开另一个问题。非常感谢mario,它帮助了我(.*)对于url来说,这是可以的,因为在我更改路径和名称之后。空格在url中根本无效…用户不应该将它们放在第一位并期望它工作,如果确实是从那里获取文本的话。您想根据哪些标准来区分文本(无效)满是空间的url?你可以用
*?
代替
[^\s]
,使正则表达式变哑,但这将为将运行到下一个带有
.jpg
后缀的url打开另一个问题。非常感谢mario,它帮助了我(.*),url也没问题,因为我更改了路径和名称。
   .*?