如何从所见即所得的内容中删除整个 iframe 标签(谷歌地图)


How to remove an entire iframe tag (google maps) from a WYSIWYG content?

我想从服务器端(php)中删除嵌入式谷歌地图的iframe标签。

这是一个symfony 1.4项目,我想在将html提供给响应之前将其从操作中删除。

标签看起来像这样。乍一看,这似乎是一项使用正则表达式解决的任务。

<p>
<iframe width="425" height="350" src="http://maps.google.com/maps/ms?hl=en&amp;mpa=0&amp;ctz=-60&amp;mpf=0&amp;ie=UTF8&amp;msa=0&amp;t=m&amp;vpsrc=6&amp;msid=207463975658802969656.0004b1369c88b98702faa&amp;ll=44.705998,8.068085&amp;spn=0.085403,0.145912&amp;z=12&amp;iwloc=0004b136a142301cefe0c&amp;output=embed"></iframe>
<br><small>View <a href="http://maps.google.com/maps/ms?hl=en&amp;mpa=0&amp;ctz=-60&amp;mpf=0&amp;ie=UTF8&amp;msa=0&amp;t=m&amp;vpsrc=6&amp;msid=207463975658802969656.0004b1369c88b98702faa&amp;ll=44.705998,8.068085&amp;spn=0.085403,0.145912&amp;z=12&amp;iwloc=0004b136a142301cefe0c&amp;source=embed">Test</a>
in a larger map</small>
</p>

有没有其他解决方案或有效的正则表达式可以做到这一点?

如果可能,我只想删除<iframe>标签

您可以使用

preg_replace():

echo preg_replace("#<p>(.*)<iframe(.*?)maps.google.com(.*?)</iframe>(.*)</p>#is", '', $string);

代码板示例

试试这个:

preg_replace('/<iframe.*?'/iframe>/i','', $this->product->description);