从phpstring中删除所有的html标签
我想显示数据库条目的前110个字符。 目前相当容易:
<?php echo substr($row_get_Business['business_description'],0,110) . "..."; ?>
但是,上面的条目中已经有客户端input的html代码。 所以它显示:
<p class="Body1"><strong><span style="text-decoration: underline;">Ref no:</span></strong> 30001<strong></stro...
显然没有好处。
我只是想删除所有的HTML代码,所以我需要从db条目中删除<和>之间的所有内容,然后显示前100个字符。
任何想法的人?
使用strip_tags
$text = '<p>Test paragraph.</p><!-- Comment --> <a href="#fragment">Other text</a>'; echo strip_tags($text); //output Test paragraph. Other text <?php echo substr(strip_tags($row_get_Business['business_description']),0,110) . "..."; ?>
使用PHP的strip_tags()函数 。
例如:
$businessDesc = strip_tags($row_get_Business['business_description']); $businessDesc = substr($businessDesc, 0, 110); print($businessDesc);
从内容中删除PHPstring中的所有HTML标记!
假设你有一个string包含锚点标记,并且你想要用内容去除这个标记,那么这个方法将会有帮助。
$srting = '<a title="" href="/index.html"><b>Some Text</b></a> Lorem Ipsum is simply dummy text of the printing and typesetting industry.'; echo strip_tags_content($srting); function strip_tags_content($text) { return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text); }
输出:
Lorem Ipsum只是印刷和排版行业的虚拟文本。
使用这个正则expression式: /<[^<]+?>/g
$val = preg_replace('/<[^<]+?>/g', ' ', $row_get_Business['business_description']); $businessDesc = substr(val,0,110);
从你的例子应该停留: Ref no: 30001