在PHP中替换特殊字符串

时间:2015-09-05 09:27:03

标签: php regex

我想从PHP中的源字符串中删除所有<td></td>。但不知道该怎么做。我试过了,但它不起作用。

preg_replace('/(?:<|&lt;)td(?:>|&gt;)(?:<|&lt;)\/td(?:>|&gt;)/', '', $sourceString);

请告诉我如何在PHP中执行此操作

2 个答案:

答案 0 :(得分:3)

PHP example

<?php
$out =  preg_replace('/(?:<|&lt;)td(?:>|&gt;)(?:<|&lt;)\/td(?:>|&gt;)/', '', $sourceString);
?>

如果你的正则表达式是正确的$ out是你的结果:)

但还有一种更简单的方法strip tags

<?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 :(得分:1)

您的模式正在寻找

<td></td>

但它找不到

<td>test</td>

有一个小小的“|”失踪。那个适合:

<?php
$out =  preg_replace('/(?:<|&lt;)td(?:>|&gt;)|(?:<|&lt;)\/td(?:>|&gt;)/', '', $sourceString);
?>
你可以在这里试试 https://de.functions-online.com/preg_replace.html