我需要删除所有<br />
和所有'引号'("
)和所有'ands'(&
)并将其替换为仅空格...
我该怎么做? (在PHP中)
我为<br />
:
$description = preg_replace('<br />', '', $description);
但它返回<>
代替每个<br />
...
由于
答案 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>');
?>
答案 1 :(得分:4)
删除br的所有排列:
<br> <br /> <br/> <br >
在
中查看用户提供的strip_only()
功能
“使用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)
答案 5 :(得分:1)
试试这个:
$description = preg_replace('/<br \/>/iU', '', $description);
答案 6 :(得分:0)
这对我有用,可以删除<br/>
:
(可以识别{>
,而不能识别>)
$temp2 = str_replace('<','', $temp);
// echo ($temp2);
$temp2 = str_replace('/>','', $temp2);
// echo ($temp2);
$temp2 = str_replace('br','', $temp2);
echo ($temp2);