Разделение строки по HTML-тегу Начало строки по PHP - PullRequest
0 голосов
/ 27 июня 2011

Вот сделка. У меня есть строка, которая содержит тег HTML <a><img /></a> в самом начале. Строка возвращается из rss. Что мне нужно, это разделить строку на две части. Один я хочу иметь <a><img></a> и остаток строки в другой переменной.

Алгоритм:

  • Проверьте, начинается ли строка с <a><img></a>
  • найдите <a><img></a> и сохраните в переменной.
  • удалить <a><img></a> из исходной строки.
  • вернуть обе переменные.
* ** 1 022 тысяча двадцать-один * Пример
    <a href=""><img src="" /></a> Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Suspendisse eros. Nam augue. Morbi fermentum elit sit amet metus. Cras libero nulla, 
ultricies pulvinar, dapibus eu, tempus et, turpis. Donec urna ligula, commodo ac, tristique ut, egestas eu, justo. Fusce consectetuer vehicula magna. In turpis risus, malesuada et, commodo eget, ornare et, mauris.

Проблема:

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

1 Ответ

4 голосов
/ 27 июня 2011

Если вы можете гарантировать, что ваша входная строка ВСЕГДА будет в этом формате, то:

$closetag = strpos($input, '</a>') + 4; // strpos will return position of `<`, so move up 4 chars

if ($closetag !== FALSE) {
    $first = substr($input, 0, $closetag);
    $last = substr($input, $closetag);
} else {
    $first = $last = 'ERROR';
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...