首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助替换&&

需要帮助替换&&
EN

Stack Overflow用户
提问于 2010-11-08 21:49:12
回答 3查看 10.5K关注 0票数 1

我不知道为什么我不能用&替换&

这是我的字符串:/Designers/batlak&selvig.jpg

这就是我迄今为止尝试过的:

代码语言:javascript
复制
$image = preg_replace("#(&(?!amp;))#U",'&',$brand['image']);
$image = str_replace('&','&',$brand['image']);
$image = htmlspecialchars($brand['image']);
$image = mysql_real_escape_string($brand['image']);
$image = urlencode($brand['image']); // This works, but image will not show
$image = rawurlencode($brand['image']);  // This works, but image will not show

有什么建议吗?

更新

是的,它是<img>标记使用的图像url的一部分。

urlencode不工作-图像标记不理解格式。

这是我在W3C验证器上遇到的错误:

代码语言:javascript
复制
Validation Output: 1 Error 
Line 84, Column 104: & did not start a character reference. 
(& probably should have been escaped as &amp;.)

更新2

我就是这样测试的:

代码语言:javascript
复制
<?php 
   $image = str_replace('&','&amp;',$brand['image']); 
   echo $image; 
?>

输出:

/Designers/batlak&selvig.jpg

我还测试过用$brand['image']替换/Designers/batlak&selvig.jpg

EN

回答 3

Stack Overflow用户

发布于 2010-11-08 21:57:55

为我工作:

代码语言:javascript
复制
echo str_replace('&', '&amp;', '/Designers/batlak&selvig.jpg');

// output:
Designers/batlak&amp;selvig.jpg

可能是将其放入href或src中,在浏览器状态/位置栏中转义。如果您查看源代码,它将正确转义。

票数 4
EN

Stack Overflow用户

发布于 2010-11-08 21:58:25

对于URL:

代码语言:javascript
复制
$image = urlencode($brand['image'])

关于你的问题:

代码语言:javascript
复制
preg_replace('/&(?![A-Za-z0-9#]{1,7};)/','&amp;',$brand['image']);

它替换所有'&'而不替换任何现有的'&amp;'字符。

票数 1
EN

Stack Overflow用户

发布于 2010-11-08 22:28:01

Firebug会自动隐藏HTML实体。

因此,请运行并粘贴原始(查看源、复制、粘贴)结果:

代码语言:javascript
复制
var_dump($brand['image']);
var_dump(urlencode($brand['image']));
var_dump(htmlspecialchars($brand['image']));

我猜是:

代码语言:javascript
复制
$image = htmlspecialchars(urlencode($brand['image']));

问题是你的文件名中有一个密码,就是.(棘手;)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4128415

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档