Для перевода веб-сайта мне нужно найти текст, который находится между html-тегами.PHP - текст между тегами
Мой первый подход состоял в том, чтобы использовать регулярное выражение, но оно недостаточно гибкое. Ближайшее, что я был в состоянии получить с регулярным выражением было: http://regex101.com/r/qB6xU5/1
но терпеть неудачу только в последнем тесте соответствие р тегов в одном матче вместо двух
Я считаю, используя библиотеку дома синтаксического анализа, но WASN (в очень маленьком поиске), чтобы найти тот, который может удовлетворить мои потребности.
Не говоря уже о том, что html может быть с ошибками и яркими шаблонами шаблонов.
Вот некоторые примеры случаев, и результаты, которые должны пройти:
<div>test</div>
=>test
<div><br />test</div>
=><br />test
<div>te<br />st</div>
=>te<br />st
<div>test<br /></div>
=>test<br />
<div><span>my</span>test</div>
=><span>my</span>test
<div>test<span>my</span></div>
=>test<span>my</span>
<div>test<span>my</span>test</div>
=>test<span>my</span>test
<div><span>my</span>test<span>my</span></div>
=><span>my</span>test<span>my</span>
В небольшом слове он может быть перефразировать как это: Найти содержание HTML-тегов, содержащих по меньшей мере один строка, которая не заключена в некоторые теги.
Вы пробовали HTML-парсер? – deceze
Анализ HTML с регулярным выражением не сработает - это слишком сложно. Вот тонна большой информации об использовании парсеров: http://stackoverflow.com/questions/3577641/how-do-you-parse-and-process-html-xml-in-php/3577662#3577662 –
** Дон ' t используйте регулярные выражения для анализа HTML. Используйте подходящий модуль синтаксического анализа HTML. ** Вы не можете надежно проанализировать HTML с регулярными выражениями, и вы столкнетесь с печалью и разочарованием в будущем. Как только HTML изменится с ваших ожиданий, ваш код будет сломан. См. Http://htmlparsing.com/php или [этот поток SO] (http://stackoverflow.com/questions/3577641/how-do-you-parse-and-process-html-xml-in-php) для примеры правильного анализа HTML с PHP-модулями, которые уже были написаны, протестированы и отлажены. –