php - 正则表达式将图像中的空间更改为实体

标签 php javascript jquery regex

我在将图像网址与空格匹配时遇到很多困难。

我需要做这个

http://site.com/site.com/files/images/img 2 (5).jpg

像这样的div:

.replace(/(http:\/\/([^\s]+\.(jpg|png|gif)))/ig, "<div style=\"background: url($1)\"></div>")

这是关于此的主题: regex matching image url with spaces

现在我决定首先将空格变成实体,以便上面的正则表达式能够工作。

但是我真的很难做到这一点。 像这样的事情:

.replace(/http:\/\/(.*)\/([^\<\>?:;]*?) ([^\<\>?:;]*)(\.(jpe?g|png|gif))/ig, "http://$1/$2%20$3$4")

替换一个空格,但其余的仍然是空格。

我需要编写一个正则表达式,将 http://和图像扩展名 (png|jpg|gif) 之间的所有空格设置为 %20。

坦率地说,目前还不确定这是否可能。感谢任何帮助,谢谢。

尝试保罗逃跑:

.escape(/http:\/\/(.*)\/([^\<\>?:;]*?) ([^\<\>?:;]*)(\.(jpe?g|png|gif))/)

我可以做到这一点的另一种方法是在 PHP 中转义服务器端,在 PHP 中我可以直接弄乱文件名,而不必在正则表达式中进行匹配。

但据我所知,像 htmlentities 这样的东西不适用于空格。任何有关这个方向的提示都很好。

最佳答案

尝试escape功能:

>>> escape("test you");
test%20you

关于php - 正则表达式将图像中的空间更改为实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1072306/

相关文章:

javascript - 模态弹出错误: "The parameters dictionary contains a null entry for parameter ' id' of non-nullable type

php - 目标 : PHP to set object class, CSS 基于类显示图像,使图像可点击。不工作

javascript - 在选择时显示/隐藏多个 DIV ID

php - session 错误值无法插入数据库

javascript - 使用 Longblob 数据类型从 mysql 数据库中损坏图像

javascript - Angular $更新资源

javascript - str.startsWith() 不适用于 Android 手机

php - 如何使用 Rediska 创建列表的新实例?

php - MySQL 守护进程启动失败 - centos 6

php - Joomla 2.5 中基于类别的文章的替代布局