У меня есть html-код, хранящийся в строке, например:
$html = '
<html>
<body>
<p>Hello <em>進撃の巨人</em>!</p>
random code
random code
<p>Lorem <span>ipsum<span>.</p>
</body>
</html>
';
Тогда у меня есть два предложения, хранящиеся в переменных:
$begin = 'Hello 進撃の巨人!';
$end = 'Lorem ipsum.';
Я хочу найти $html
для этих двух предложений и разбить все до и после них. Таким образом, $html
станет:
$html = 'Hello <em>進撃の巨人</em>!</p>
random code
random code
<p>Lorem <span>ipsum<span>.';
Как я могу это достичь? Обратите внимание, что переменные $begin
и $end
не имеют тегов html, но предложения в $html
, скорее всего, имеют теги, как показано выше.
Может быть подход регулярного выражения?
То, что я пробовал до сих пор
-
A
strpos()
. Проблема в том, что$html
содержит теги в предложениях, в результате чего предложения$begin
и$end
не совпадают. Я могуstrip_tags($html)
перед запускомstrpos()
, но тогда я, очевидно, получаю$html
без тегов. -
Найдите часть переменной, например
Hello
, но она никогда не будет безопасной и даст много совпадений.