У меня есть 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, но она никогда не будет безопасной и даст много совпадений.