2014-07-02 48 views
1

我试图取代&用绳子在我的WordPress模板:str_replace(&)输出#038,如何避免?

str_replace("&", "et", get_the_title($id); 
// outputs et#038; 

我已经这样做避免了问题:

str_replace("#038;", "et", str_replace("&", "", get_the_title($id))); 

我敢肯定,这是不正确的方法解决这个问题。什么是正确的方式来取代&与PHP?

回答

2

可能:

$result = str_replace("&", "et", get_the_title($id)); 

&是在HTML displaing时使用&(或&)的HTML实体:

$result = str_replace("&", "et", html_entity_decode(get_the_title($id))); 

但这将解码显示时可能不太好所有实体在浏览器中。

+0

这是正确的,它的编码特殊字符的URL。 – AlienWebguy

+0

实际上是HTML实体。 – AbraCadaver

+0

雅我看到你在我做完之后添加了 - 伟大的思想...... :) – AlienWebguy

0

您可以尝试奥斯陆

ecodeURI('&') 

例如:

var temp = 'http://gop.jakdojade.pl?fn='+decodeURI('&')+'tn=aleja+Wolno%C5%9Bci+2'+decodeURI('&')+'tc=50.27889:19.19224'+decodeURI('&')+'a=false'+decodeURI('&')+'t=0'+decodeURI('&') +'n=0'+decodeURI('&')+'as=true'+decodeURI('&')+'aro=1'; 

检查奥斯陆 “特殊符号和数学符号 在HTML和JavaScript”: http://www.javascripter.net/faq/mathsymbols.htm

在WordPress我添加代码来分离文件,例如script.js并在头文件中导入。它适合我。对于每一个机构谁拥有与WordPress更换问题,这是我的例子: 像

example.js创建文件:

function jakdojade(){ 
    var adres = document.getElementById('adresInput').value; 
    adres = adres.replace('/\s/g', '+'); 
    console.log(adres); 
    var evLink = document.createElement('a'); 
    evLink.href = 'http://gop.jakdojade.pl?fn='+adres+decodeURI('&')+'tn=aleja+Wolno%C5%9Bci+2'+decodeURI('&')+'tc=50.27889:19.19224'+decodeURI('&')+'a=false'+decodeURI('&')+'t=0'+decodeURI('&')+'n=0'+decodeURI('&')+'as=true'+decodeURI('&')+'aro=1'; 
    evLink.target = '_blank'; 
    document.body.appendChild(evLink); 
    evLink.click(); 
    evLink.parentNode.removeChild(evLink); 
} 

将文件添加到您的模板文件夹!

的header.php beetwen <head></head>

<script src="<?php echo get_template_directory_uri(); ?>/example.js"></script> 

,现在你可以在WordPress添加到您的网页:

<input id="adresInput" type="text" /> 
    <div class="button" onclick="jakdojade()">CHECK ROAD</div>