2014-07-02 51 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>