如何从字符串中删除<br/>标签和更多?

时间:2009-11-22 15:18:02

标签: php

我需要删除所有<br />和所有'引号'(")和所有'ands'(&)并将其替换为仅空格...

我该怎么做? (在PHP中)

我为<br />

尝试了这个
   $description = preg_replace('<br />', '', $description);

但它返回<>代替每个<br /> ...

由于

7 个答案:

答案 0 :(得分:8)

<?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://php.net/manual/en/function.strip-tags.php

答案 1 :(得分:4)

删除br的所有排列:

<br> <br /> <br/> <br   >

中查看用户提供的strip_only()功能

http://www.php.net/strip_tags

“使用DOM代替替换”警告总是正确的,但如果任务真的限于这三个字符,那么这应该是o.k。

答案 2 :(得分:4)

如果str_replace()不适合你,那么别的东西一定是错的,因为

$string = 'A string with <br/> & "double quotes".';
$string = str_replace(array('<br/>', '&', '"'), ' ', $string);
echo $string;

输出

A string with      double quotes .

请提供输入字符串的示例以及过滤后的预期效果。

答案 3 :(得分:3)

要操纵HTML,使用DOM感知工具而不是纯文本操作工具通常是个好主意(例如,如果您使用超过<br/><br />之类的变体,会发生什么情况?一个空格,甚至是<br><BR/>,有时会使用非法的空格。例如,请参见:http://sourceforge.net/projects/simplehtmldom/

答案 4 :(得分:2)

您可以像这样使用str_replace

  str_replace("<br/>", " ", $orig );

preg_replace etc使用正则表达式,这可能不是你想要的。

答案 5 :(得分:1)

试试这个:

$description = preg_replace('/<br \/>/iU', '', $description);

答案 6 :(得分:0)

这对我有用,可以删除<br/>

(可以识别{&gt;,而不能识别>)

$temp2 = str_replace('&lt;','', $temp);

// echo ($temp2);

$temp2 = str_replace('/&gt;','', $temp2);

// echo ($temp2);

$temp2 = str_replace('br','', $temp2);

echo ($temp2);