Есть ли простой способ проверить, находится ли подстрока в кавычках или нет?

0

Я изо всех сил пытаюсь работать со строкой, содержащей HTML-страницу. У моего конкретного есть некоторые цитированные HTML-теги в контейнере <script>. Именно так:

<script>
  a = '<div>';
  b = '</script>';
</script>

Скажем, я хотел бы удалить все контейнеры <script> из этой строки, но мне не нужно рассматривать подстроку '</script>' как закрывающий <script>.

Итак, есть ли простой способ пройти эту вещь?

Я знаю, что я могу использовать DOMDocument для управления этой строкой, но я бы хотел сделать это вручную, поскольку я отлаживаю скрипт с помощью манипуляций с DOMDocument, и он работает неожиданным образом.

  • 1
    Это намеренно, что b=</script>'; не имеет вступительной цитаты?
  • 0
    Ты прав, @Nikos. Мой опечатка.
Теги:
string
domdocument

2 ответа

1

вы можете прокручивать строку и делать strpos в своей строке. Затем сделайте +1 или -1, чтобы увидеть, имеет ли сценарий "слева или справа от него". - Еще один сложный путь.

  • 0
    Я бы сказал, что это not an easy подход. Так нет никакой функции или что-нибудь? Например, что-то вроде этого: if(InQuotes($str,strpos($str,'<div>')))
0

Используйте функцию strip_tags:

http://php.net/strip_tags

Он позволяет вам выбирать теги, которые нужно снять, и которые нужно оставить.

  • 0
    Хотя это правильно, я бы предложил предоставить пример кода, чтобы улучшить ваш ответ.
  • 0
    Этот ответ в целом правильный, но я бы хотел получить решение для конкретного ответа на вопрос (о кавычках).
Показать ещё 1 комментарий

Ещё вопросы

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