我有以下代码
<a href="snippet:add?code=<?php echo rawurlencode($snippet->snippet_content); ?>Save snippet</a>
其中
'$snippet = <a rel="nofollow" href="http://digg.com/submit?phase=2&url=<?php the_permalink(); ?>" title="Submit this post to Digg">Digg this!</a>'
我怎样才能将rawurlencode替换为“&amp; lt”;到“&lt;”?
非常感谢提前
抢劫
更新
使用
<?php echo rawurlencode(html_entity_decode($snippet->snippet_content)); ?>
如下面的海报所示,谢谢你修改了&amp; lt;到“&lt;”但是在整个片段中插入\
<a rel=\"nofollow\" href=\"http://delicious.com/post?url=<?php the_permalink(); ?>&title=<?php echo urlencode(get_the_title($id)); ?>\" title=\"Bookmark this post at Delicious\">Bookmark at Delicious</a>
我正在寻找的输出没有反斜杠
<a rel="nofollow" href="http://delicious.com/post?url=<?php the_permalink(); ?>&title=<?php echo urlencode(get_the_title($id)); ?>" title="Bookmark this post at Delicious">Bookmark at Delicious</a>
欢呼抢劫
固定
谢谢所有发帖的人!
<?php echo rawurlencode(htmlspecialchars_decode(stripslashes($snippet->snippet_content))); ?>
有魅力,
非常感谢抢劫答案 0 :(得分:3)
rawurlencode()
与转换为/从html编码无关。它执行URL编码。要解码的匹配函数是rawurldecode()
,但同样,这不是您在这里寻找的。 p>
<
编码是html编码。要解决此问题,您需要html_entity_decode()
进行解码或htmlentities()
进行编码。
上述功能集的基本用法是:
$urlEncodedStr = rawurlencode($str);
$urlDecodedStr = rawurldecode($str);
$htmlEncodedStr = htmlentities($str);
$htmlDecodedStr = html_entity_decode($str);
要将它们组合在一起,您可以进行一些组合:
$urlEncodedHtmlDecodedStr = rawurlencode(html_entity_decode($str));
答案 1 :(得分:2)
您应该使用the html_entity_decode()
function将<
转移到<
。
但由于这是一个URL参数,因此您需要在之后调用rawurlencode()
,即
<?php echo rawurlencode(html_entity_decode($snippet->snippet_content)); ?>