jQuery 预替换
亲爱的社区,您好!
简而言之,我有一个文本框,您可以在其中粘贴 标签,如下所示:
。
有没有办法让这些 看起来像这样:
使用 jQuery < code>.replace() 或者类似的东西?或者我应该使用 PHP 函数?
我试图找出 jQuery .match()
对于某些正则表达式返回什么:
x = text.match(/\<img src="(.*)" \/>\$/);
alert(x);
,但当有多个 标签时,它会返回奇怪的东西。
感谢您的帮助!
Hi again dear comminity!
To make it short, I have a textbox, where you can paste <img>
tags, which look like this:<img src="123.jpg" />
.
Is there any way to make these <img>
look this: <img src="img/upload/username/123.jpg" />
using jQuery .replace()
or something like this ? Or should I use PHP function instead ?
I have tried to find out what jQuery .match()
returns for some regual expression:
x = text.match(/\<img src="(.*)" \/>\$/);
alert(x);
,but it returns odd things, when there are more than one <img>
tag.
Thank you for your help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
未经测试...
如果您想使用 PHP 在服务器端执行此操作,您可以像这样替换,不需要正则表达式...
或者如果您想使用正则表达式...
Not tested...
If you would like to do this on server side with PHP you can just replace like this, no need for regex...
Or if you would like to use regexp...
您想在 jquery 中使用的函数是 .attr() 并将内容替换为您喜欢的任何内容。这是教程页面: http://api.jquery.com/attr/
The function you would like to use in jquery is .attr() and replace the content with whatever you like. Here is the tutorial page: http://api.jquery.com/attr/
我认为问题在于您没有使用惰性匹配。使用
(.*?)
而不是(.*)
I think it's the problem that you are not using a lazy match. Instead of
(.*)
use(.*?)
现在你会得到吗?
now u ll get??
您的正则表达式返回的不是您所期望的多个标签,因为您在这里使用了贪婪量词:
要解决此问题,请尝试以下操作:
我不确定您的转义...。通常你不需要转义
<
并且我也不明白\$
最后有什么用。它不在你的字符串中。如果你想在字符串结尾有一个锚点,那么就不要转义它,但如果你想能够插入多个标签,则根本不能使用它。Your regex returns not what you expect with more than one tag, because you use a greedy quantifier here:
To fix this try this:
I am not sure about your escaping ... . Normally you don't need to escape
<
and I also don't understand what the\$
is good for at the end. It is not in your string. If you want to have a anchor for string end then don't escape it, but if you want to be able to insert multiple tags, you can't use it at all.