复制 preg 替换为 javascript

发布于 2024-10-14 23:34:32 字数 412 浏览 4 评论 0 原文

是否可以用 javascript 复制这个?

preg_replace('/(.gif|.jpg|.png)/', '_thumb$1', $f['logo']);

编辑 - 我没有收到这段代码的以下错误,

未终止的字符串文字

$('#feed').prepend('

'+html.content+'
').fadeIn('slow');

Is it possible to replicate this with javascript?

preg_replace('/(.gif|.jpg|.png)/', '_thumb$1', $f['logo']);

EDIT - I am not getting this following error for this peice of code,

unterminated string literal

$('#feed').prepend('<div class="feed-item"><img src="'+html.logo.replace(/(.gif|.jpg|.png)/g, "_thumb$1")+'"/>
<div class="content">'+html.content+'</div></div>').fadeIn('slow');

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

耳钉梦 2024-10-21 23:34:32

您尝试复制的代码存在一些问题:

  • 它与“扩展名”匹配,即使它们不在文件名的末尾。
  • 正则表达式中的点匹配(几乎*)任何字符,而不仅仅是句点。

请尝试以下操作:

'abc.jpg'.replace(/\.(jpg|gif|png)$/, '_thumbs
amp;')

我假设您尝试替换的字符串仅包含一个文件名。


*请参阅 PCRE_DOTALL 的文档。

There are a couple of problems with the code you are trying to replicate:

  • It matches "extensions" even if they aren't at the end of the filename.
  • The dot in a regular expression matches (nearly*) any character, not just a period.

Try this instead:

'abc.jpg'.replace(/\.(jpg|gif|png)$/, '_thumbs
amp;')

I'm assuming that the string you are trying to replace contains only a single filename.


*See the documentation for PCRE_DOTALL.

清醇 2024-10-21 23:34:32

是的,除了在 JavaScript 中, replace 是字符串的方法,因此它会稍微重新排列(而且数组/对象表示法略有不同):

f.logo.replace(/\.(gif|jpg|png)/, '_thumb.$1');

更多信息

Yes, except that in JavaScript, replace is a string's method, so it would be rearranged a little (also, the array/object notation is slightly different):

f.logo.replace(/\.(gif|jpg|png)/, '_thumb.$1');

more info

扶醉桌前 2024-10-21 23:34:32
somestringvar.replace(/(.gif|.jpg|.png)/, replacementValue)
somestringvar.replace(/(.gif|.jpg|.png)/, replacementValue)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文