【问题标题】:How to encode url by using preg_replace function in php?如何在 php 中使用 preg_replace 函数对 url 进行编码?
【发布时间】:2013-08-28 14:41:30
【问题描述】:

我已遵循此代码:

$content = preg_replace('/<a href="http:\/\/domain.com\/view\/img\/(.*)">TEXT<\/a>/', '<a href="http://mydomain.com/get.php?url='.base64_encode('{$1}').'">TEXT</a>', $content);

非常感谢。

【问题讨论】:

  • 这行不通……怎么办?
  • 如何它不起作用?如果它有效,你就不会在这里。所以告诉我们它应该做什么,它正在做什么,以及你试图做些什么来修复它。
  • 它可以在 base64('{$1}') 上编码。例如,

标签: php preg-replace encode


【解决方案1】:

如果您使用的是 PHP,我认为您必须转义“。尝试:

$content = preg_replace('/<a href=\"http:\/\/domain.com\/view\/img\/(.*)\">TEXT<\/a>/', '<a href="http://mydomain.com/get.php?url='.base64_encode('{$1}').'">TEXT</a>', $content);

【讨论】:

  • 它可以在 base64('{$1}') 上编码。例如,我有 url domain.com/view/img/a26256f2f6,我想对整个 url 或 url domain.com/view/img 的 a26256f2f6 值进行编码。当我运行上面的代码时,它可以编码 a26256f2f6 值,所以它编码为mydomain.com/get.php?url={a26256f2f6}。如何将 {a26256f2f6} 删除到 a26256f2f6 中?
  • 不,您不必在不同引号的字符串中转义引号。例如'"a"'"'a'" 都是完全可以接受的。但如果是'&lt;a href='...',那么是的,你必须逃跑。
  • $content = str_replace("{","",$content);
  • 和 $content = str_replace("}","",$content);
猜你喜欢
  • 2018-09-28
  • 1970-01-01
  • 2018-06-30
  • 1970-01-01
  • 2011-08-30
  • 2013-04-02
  • 1970-01-01
  • 2011-07-23
  • 2010-09-11
相关资源
最近更新 更多