2017-03-08 41 views
0

TinyMCE的在自定義CMS使用,在網址轉換符號爲HTML實體是這樣的:PHP糾正TinyMCE的URL轉換

<img src="https://maps.googleapis.com/maps/api/staticmap?markers=15.44,-14.57&amp;zoom=14&amp;size=250x180&amp;sensor=false" alt="map" /> 

此圖片導致錯誤「的谷歌地圖API服務器拒絕了您的請求無效請求。缺少'大小'參數。「

我無法改變TinyMCE行爲(沒有任何工作)。

另外,我想使用PHP來查找替換所有的href/src保存到數據庫之前。

如何在PHP中搜索字符串$ post for href/src url並找到&符號html實體代碼並將其替換爲「&」?

我試過使用preg_replace的例子,但無法讓它工作。

+0

有時與Tinymce有關的問題是因爲舊版本的PHP。我解決了很多安裝PHP最新版本的問題。 –

回答

0

我明白了,希望它能幫助別人。

$str = '<a href="https://some.com/?m=1&amp;z=2&amp;s=3&amp;r=f">some text</a><img src="https://maps.googleapis.com/maps/api/staticmap?markers=136.22,-186.74&amp;zoom=14&amp;size=250x180&amp;sensor=false" alt="map" />'; 

$re = '/(href|src)=("[^"]*")/'; 
preg_match_all($re, $str, $matches); 
foreach ($matches[0] as $match){ 
    $conv = str_replace('&amp;', '&', $match); 
    $str = str_replace($match, $conv, $str); 
} 

echo $str; // &amp; in url converted to &