2017-03-08 65 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 &