簡體   English   中英

如何刪除<br>標簽和更多來自字符串?

[英]How to remove <br /> tags and more from a string?

我需要刪除所有<br />和所有“引號”( " )以及所有“和”( & )並僅用空格替換它們......

我怎樣才能做到這一點? (在 PHP 中)

我已經為<br />試過了:

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

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

謝謝

<?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

您可以像這樣使用str_replace

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

preg_replace 等使用正則表達式,這可能不是您想要的。

如果str_replace()對您不起作用,那么一定是其他地方出了問題,因為

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

產出

A string with      double quotes .

請提供輸入字符串的示例以及過濾后的外觀。

要操作 HTML,使用 DOM 感知工具而不是純文本操作工具通常是一個好主意(例如,想想如果您使用多個空格,例如<br/><br /> ,甚至<br><BR/> ,盡管有時使用它們是非法的)。 例如,請參見此處: http : //sourceforge.net/projects/simplehtmldom/

要刪除 br 的所有排列:

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

查看用戶貢獻的strip_only()函數

http://www.php.net/strip_tags

“使用 DOM 而不是替換”警告總是正確的,但如果任務真的僅限於這三個字符,這應該沒問題

試試這個:

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

這對我<br/> ,可以刪除<br/>

( &gt;被識別而 > 不是)

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

// echo ($temp2);

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

// echo ($temp2);

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

echo ($temp2);
$string = "Test<br>Test<br />Test<br/>";
$string = preg_replace( "/<br>|\n|<br( ?)\/>/", " ", $string );
echo $string;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM