在PHP上删除标记html

时间:2014-09-05 05:49:27

标签: php

如何删除php上的标签html

我的数据:

$a="<div style='color: blue;'>Hallo</div>
<div>yas!</div><img src='blabla/aa/img.png'> im fine
<span> yes</span> <a href='aaa.com'>link</a>";

如何删除所有div和span

<div style='color: blue;'></div>, <div></div> and <span></span>

而不是删除

<img src='blabla/aa/img.png'> and <a href='aaa.com'>link</a>

请帮帮我

5 个答案:

答案 0 :(得分:2)

如何使用strip_tags

$a="<div style='color: blue;'>Hallo</div>"
   ."<div>yas!</div><img src='blabla/aa/img.png'> im fine<span> yes</span>";

$clean_html = strip_tags($a, "<img><a>");

答案 1 :(得分:2)

答案 2 :(得分:0)

你的句子无法解释你的目标是什么。看看这个。

substr - 返回字符串的一部分

说明

string substr ( string $string , int $start [, int $length ] )

返回由start和length参数指定的字符串部分。

参数

<强>字符串

输入字符串。必须是一个字符或更长。

开始

如果start为非负数,则返回的字符串将从字符串的起始位置开始,从零开始计数。例如,在字符串'abcdef'中,位置0的字符是'a',位置2的字符是'c',依此类推。

如果start为负数,则返回的字符串将从字符串末尾的起始字符开始。

如果string小于或等于开始字符长,则返回FALSE。

<强>实施例

示例 - 基本substr()用法

<?php
echo substr('abcdef', 1);     // bcdef
echo substr('abcdef', 1, 3);  // bcd
echo substr('abcdef', 0, 4);  // abcd
echo substr('abcdef', 0, 8);  // abcdef
echo substr('abcdef', -1, 1); // f

// Accessing single characters in a string
// can also be achieved using "square brackets"
$string = 'abcdef';
echo $string[0];                 // a
echo $string[3];                 // d
echo $string[strlen($string)-1]; // f

?>

或者

如果你想删除HTML标签并且只允许其中一些标签你可以使用像这样的strip_tags函数

 $a="<div style='color: blue;'>Hallo</div>"."<div>yas!</div><img src='blabla/aa/img.png'> im fine<span> yes</span>";

$ clean_html = strip_tags($ a,“”);

这将返回您输入的文字$ text,没有标签,除了&amp;标签您可以阅读有关strip_tags

的更多信息

来源:http://us2.php.net/manual/en/function.substr.php

答案 3 :(得分:0)

你可以使用它:

 <?php 
$a="<div style='color: blue;'>Hallo</div><div>yas!</div><img src='blabla/aa/img.png'> im fine<span>   yes</span>";
echo strip_tags($a,"<img><a>");
?>

答案 4 :(得分:0)

http://php.net/manual/en/function.preg-replace.php

$a="<div style='color: blue;'>Hallo</div>
<div>yas!</div><img src='blabla/aa/img.png'> im fine<span> yes</span>";

$find=[
    "/<div style='color: blue;'>.*.<\/div>/",
    "/<div>.*.<\/div>/",
    "/<span>.*.<\/span>/"
];

echo preg_replace($find,"",$a);