Заменить специальную строку в PHP

1

Я хочу удалить все <td></td> из исходной строки в PHP. Но не знаю, как это сделать. Я попытался, но это не сработало.

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

Скажите, пожалуйста, как это сделать в PHP

  • 0
    1. <td></td> 2. <td>blahblah</td> так что ты хочешь получить? 1. пустая строка 2. болван или пустая строка?
Теги:

2 ответа

3

Пример PHP

<?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>');
?>
  • 0
    Спасибо! Это хорошая идея.
  • 0
    @ MinhLe, пожалуйста, вы можете подтвердить мой ответ :) это действительно помогает.
Показать ещё 1 комментарий
1

ваш шаблон ищет

<td></td>

но он не найдет

<td>test</td>

Есть litte "|" отсутствует. Это подходит:

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

вы можете попробовать это здесь https://de.functions-online.com/preg_replace.html

Ещё вопросы

Сообщество Overcoder
Наверх
Меню