问题标签 [preg-replace]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
32594 浏览

php - 为什么 preg_replace 向我抛出“未知修饰符”错误?

我不断收到此错误:

警告:preg_match() [function.preg-match]:第 235 行 D:\xampp\htdocs\administrator\components\com_smms\functions\plugin.php 中的未知修饰符 't'

在:

我在 $result->module_pregmatch 上做了一个 var_dump,得到以下信息:

有人可以告诉我我做错了什么吗?我已经被这个错误困住太久了......

0 投票
6 回答
2611 浏览

php - preg_replace 密码过滤器

对于 PHP,我想对密码使用 preg_replace() 过滤器,以便密码唯一可用的字符是 US ASCII 类型、减控制码和 NULL。

实现我可以插入 preg_replace() 的 RegEx 是什么?

编辑:

我被建议编辑这个问题,因为我现在“明白了”并且不会使用这种非常不受欢迎的技术,并且将允许任何可键入的字符,即使是我键盘上可能没有的字符,只要它们不是控制代码。

0 投票
2 回答
390 浏览

php - 为所有内部 URL 添加后缀

我需要在我网站上所有内部 URL 的末尾添加 ?hl=foo 后缀。

由于诸如...之类的并发症,我不确定执行此操作的最佳方法

0 投票
6 回答
14307 浏览

php - 如何将 http:// 或 www 替换为

我创建了这个正则表达式

匹配每个http://...www....但我不知道如何让 preg_replace 起作用,我试过了

但它不起作用,结果是空字符串。


当您将/其用作模式分隔符时,/在您的模式中使用将无法正常工作。我通过使用!作为模式分隔符解决了这个问题,但是你可以用反斜杠来转义你的斜杠。

我也看不出你为什么要进行两次paren捕获,所以我删除了其中一个。

您遇到的部分问题是您在运行时会抑制警告。如果你有error_reporting(E_ALL),你会看到 PHP 试图在你的正则表达式中生成关于你的分隔符问题的消息。

0 投票
2 回答
960 浏览

php - wordpress wp_get_archives 输出随 preg_replace 变化

早上好男孩和女孩...有人能指出我正确的方向吗,拜托。

我想 JUNE 29, 2009–JULY 5, 2009 用纯文本替换我的 php-echo-output:last week

这个 preg_replace 只替换了第二部分,所以我的输出现在是JUNE 29, 2009last week 这个 preg 让我发疯了......

0 投票
4 回答
160 浏览

php - 帮助 preg_replace

我想替换由标签关闭的 html 文本

start_ticker 代码.... end_ticker

我不成功

我的代码是

0 投票
1 回答
7604 浏览

php - PHP preg_replace() 编译失败:缺少)

我有以下函数来返回脚本的干净路径。

PHP给出错误:

警告:preg_replace() [function.preg-replace]: Compilation failed: missing ) 在第18C:\wamp\www\extlogin\app\ni\inc\classes\cfiletree.php中的偏移量 7

关于什么是错的以及如何解决它的任何想法?

谢谢你。

0 投票
4 回答
6856 浏览

php - preg_replace - 留下不需要的字符

我有一个字符串:

我想把它变成一个 URL 友好的标签,我已经开发了一个函数来做到这一点:

但是,当我在$string上面运行时,我得到以下信息:

似乎有些字符从我的 preg_replace 中溜走了,尽管据我所知,它们不应该是这样。

它应该是这样的:

这里发生了什么?(这应该很容易做柠檬汁!)

编辑1:我不知道正则表达式是初学者的东西,但无论如何。此外,删除我的字符串中的 \s 不会产生所需的结果。

期望的结果是:

  1. 所有空格都转换为破折号。
  2. 所有剩余的不是 AZ 或 0-9 的字符都将被删除。
  3. 然后将字符串转换为小写。

编辑 2+:稍微清理了我的代码。

0 投票
17 回答
69603 浏览

php - 用 HTML 链接替换文本中的 URL

这是一个设计:例如,我放了一个链接,例如

http://example.com

文本区域。如何让 PHP 检测到它是一个http://链接,然后将其打印为

我记得以前做过类似的事情,但它并不是万无一失的,它会不断破坏复杂的链接。

另一个好主意是,如果您有一个链接,例如

http://example.com/test.php?val1=bla&val2blablabla%20bla%20bla.bl

修复它

这只是事后的想法.. stackoverflow 也可能使用它:D

有任何想法吗

0 投票
2 回答
2148 浏览

php - PHP preg_replace() 反向引用用作另一个函数的参数

我正在尝试使用正则表达式从标签中提取信息,然后根据标签的各个部分返回结果。

preg_replace('/<(example )?(example2)+ />/', analyze(array($0, $1, $2)), $src);

所以我正在抓取零件并将其传递给analyze()函数。到达那里后,我想根据零件本身进行工作:

等等。但是一旦我进入分析函数,$matches[0]就等于字符串' $0'。相反,我需要$matches[0]从 preg_replace() 调用中引用反向引用。我怎样才能做到这一点?

谢谢。

编辑:我刚刚看到了 preg_replace_callback() 函数。也许这就是我正在寻找的...