如何在某个html标记之前和之后剥离文本



基本上我想用这样的东西:

textheretextheretexthere
<table>
<tr><td>heres some stuff</td><td>and some morestuff</td></tr>
</table>
moretextheremoretexthere

删除所有的textthere和moretext只留下表格

您需要使用strpos找到<table>位置,然后使用substr将文本删除到该点。</table>

也一样
$string = 'textheretextheretexthere<table><tr><td>heres some stuff</td><td>and some morestuff</td></tr></table>moretextheremoretexthere';
$table_pos = strpos($string,'<table>');
$string = substr($string,$table_pos);
//Your string now is <table><tr><td>heres some stuff</td><td>and some morestuff</td></tr></table>moretextheremoretexthere
$endtable_pos = strpos($string,'</table>')+8;//added 8 so i wont exclude </table>
$clean_string = substr($string,0,$endtable_pos);
//Your string now is <table><tr><td>heres some stuff</td><td>and some morestuff</td></tr></table>

当然,这不是完美的,我知道,但你得到了提示,你可以努力改进它,也许最终与一个功能,帮助你解决你的问题。

  • 大小写敏感
  • substr
<?php
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>';    
echo strip_tags($text);
echo "n";
// Allow <p> and <a>
echo strip_tags($text, '<p><a>');
?>

这是最简单的方法。

http://yelotofu.com/2008/08/jquery-outerhtml/

相关内容

最新更新