我在将图像网址与空格匹配时遇到很多困难。
我需要做这个
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/