2016-01-13 56 views
-1

如何删除特殊字符等; LT; GT但不锚标签 如删除特殊字符,如lt;但不锚标记

&amp;lt;a href=&amp;quot;http://www.imdb.com/name/nm0005069/&amp;quot;&amp;gt;Spike Jonze&amp;lt;/a&amp;gt; This cause by <a class="primary-black" href="http://example.com/community/RobHallums">RobHallums</a> 

应该

Spike Jonze This cause by <a class="primary-black" href="http://example.com/community/RobHallums">RobHallums</a> 
+0

让我们了解您尝试请。 – HJerem

+0

我想删除lt; GT; like标签但没有删除字符串 – areeb

回答

1

这里有一个快速为你:

<?php 

// SET OUR DEFAULT STRING 
$string = '&amp;lt;a href=&amp;quot;http://w...content-available-to-author-only...b.com/name/nm0005069/&amp;quot;&amp;gt;Spike Jonze&amp;lt;/a&amp;gt; This cause by <a class="primary-black" href="http://e...content-available-to-author-only...e.com/community/RobHallums">RobHallums</a>'; 

// USE PREG_REPLACE TO STRIP OUT THE STUFF WE DON'T WANT 
$string = preg_replace('~&amp;lt;.*?&amp;gt;~', '', $string); 

// PRINT OUT OUR NEW STRING 
print $string; 

所有我在这里做的是寻找&amp;lt;,后跟任何字符.,任意次数*,直到它匹配字符串?的下一部分,即&amp;gt;

任何时候它发现它,它没有任何代替。所以你留下了你想要的文字。

这里是一个工作演示:

http://ideone.com/uSnY0b

0

使用html_entity_decode:

<?php $url = html_entity_decode('&amp;lt;a href=&amp;quot;http://www.imdb.com/name/nm0005069/&amp;quot;&amp;gt;Spike Jonze&amp;lt;/a&amp;gt;'); 
echo $url; 
?> 

的输出将是:

<a href="http://www.imdb.com/name/nm0005069/">Spike Jonze</a> 

编辑:

<?php 
    preg_match_all('/<a .*?>(.*?)<\/a>/',$url,$matches); 
    //For Text Name 
    echo $matches[1][0]; //output : Spike Jonze 
?> 
+0

但我想删除所有文本之间的lt; a但未删除的anker标签输出应该是“Spike Jonze” – areeb

+0

strip_tags从字符串中删除所有标签,但不想删除具有已经在RobHallums' – areeb