我想显示数据库条目的前110个字符。到目前为止很容易:
<?php echo substr($row_get_Business['business_description'],0,110) . "..."; ?>
但是上面的条目中有html代码,客户已经输入了该代码。所以它显示:
<p class="Body1"><strong><span style="text-decoration: underline;">Ref no:</span></strong> 30001<strong></stro...
显然没有好处。
我只想删除所有的html代码,所以我需要删除&lt;之间的所有内容。和&gt;从数据库条目THEN显示前100个字符。
任何想法?
答案 0 :(得分:113)
使用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) . "..."; ?>
答案 1 :(得分:15)
使用PHP的strip_tags() function。
例如:
$businessDesc = strip_tags($row_get_Business['business_description']);
$businessDesc = substr($businessDesc, 0, 110);
print($businessDesc);
答案 2 :(得分:10)
假设您有字符串包含锚标记,并且您想要使用内容删除此标记,那么此方法将有所帮助。
$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只是印刷和排版行业的虚拟文本。
答案 3 :(得分:6)
使用此正则表达式:/<[^<]+?>/g
$val = preg_replace('/<[^<]+?>/g', ' ', $row_get_Business['business_description']);
$businessDesc = substr(val,0,110);
您的示例中的应保留:Ref no: 30001
答案 4 :(得分:1)
对我来说这是最好的解决方案。
function strip_tags_content($string) {
// ----- remove HTML TAGs -----
$string = preg_replace ('/<[^>]*>/', ' ', $string);
// ----- remove control characters -----
$string = str_replace("\r", '', $string);
$string = str_replace("\n", ' ', $string);
$string = str_replace("\t", ' ', $string);
// ----- remove multiple spaces -----
$string = trim(preg_replace('/ {2,}/', ' ', $string));
return $string;
}
答案 5 :(得分:0)
以防万一,fgetss()
在一行中删除/剥离所有html和php标签的文件中读取文件。
答案 6 :(得分:0)
在laravel中,您可以使用以下语法
@php
$description='<p>Rolling coverage</p><ul><li><a href="http://xys.com">Brexit deal: May admits she would have </a><br></li></ul></p>'
@endphp
{{ strip_tags($description)}}
答案 7 :(得分:0)
mismatched types
expected fn pointer, found closure
note: expected fn pointer `fn(U) -> V`
found closure
或者如果您有来自数据库的内容;
<?php $data = "<div><p>Welcome to my PHP class, we are glad you are here</p></div>"; echo strip_tags($data); ?>
<?php $data = strip_tags($get_row['description']); ?>
答案 8 :(得分:0)
$string = <p>Awesome</p><b> Website</b><i> by Narayan</i>. Thanks for visiting enter code here;
$tags = array("p", "i");
echo preg_replace('#<(' . implode( '|', $tags) . ')(?:[^>]+)?>.*?</\1>#s', '', $string);
尝试一下
答案 9 :(得分:0)
从 HTML 标签中去除字符串:
<?php
echo strip_tags("Hello <b>world!</b>");
?>
从 HTML 标签中去除字符串,但允许使用标签:
<?php
echo strip_tags("Hello <b><i>world!</i></b>","<i>");
?>